From f75cf19fdcbadb9c4cc27a2194fe1a7820ab28b5 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Thu, 11 Jul 2024 16:00:22 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=EF=BC=9A1=E3=80=81=E6=A8=A1=E6=8B=9F?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E4=BF=9D=E5=AD=98=E3=80=81=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=88=97=E8=A1=A8=E3=80=81=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5=E5=8F=8A=E5=95=8A=E5=AF=B9=E5=BA=94=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E7=9A=84=E8=B0=83=E6=95=B4=EF=BC=9B2=E3=80=81=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E6=B2=A1=E7=94=A8=E9=83=A8=E5=88=86=E5=BC=95=E7=94=A8?= =?UTF-8?q?=E5=92=8C=E4=BB=A3=E7=A0=81=EF=BC=88=E7=A7=AF=E6=9C=A8=E7=AD=89?= =?UTF-8?q?=EF=BC=89=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../type/CompressObjectListTypeHandler.java | 73 +++++++++ .../core/type/CompressStringTypeHandler.java | 43 +++++ cf-module-report/cf-module-report-biz/pom.xml | 14 +- .../admin/ajreport/package-info.java | 1 - .../admin/goview/GoViewDataController.java | 69 -------- .../admin/goview/GoViewProjectController.java | 76 --------- .../vo/data/GoViewDataGetBySqlReqVO.java | 16 -- .../goview/vo/data/GoViewDataRespVO.java | 19 --- .../vo/project/GoViewProjectCreateReqVO.java | 15 -- .../vo/project/GoViewProjectRespVO.java | 36 ----- .../vo/project/GoViewProjectUpdateReqVO.java | 34 ---- .../template/ReportTemplateController.java | 7 +- .../template/vo/ReportDatasetFieldVO.java | 26 +++ .../template/vo/ReportDatasetParameterVO.java | 13 +- .../admin/template/vo/ReportDatasetReqVO.java | 2 + .../template/vo/ReportDatasetRespVO.java | 11 +- .../template/vo/ReportDatasetSaveReqVO.java | 7 +- .../template/vo/ReportDatasourceReqVO.java | 6 +- .../template/vo/ReportDatasourceRespVO.java | 20 +-- .../vo/ReportDatasourceSaveReqVO.java | 18 ++- .../template/vo/ReportTemplateRespVO.java | 6 +- .../template/vo/ReportTemplateSaveReqVO.java | 6 +- .../report/convert/ajreport/package-info.java | 4 - .../convert/goview/GoViewProjectConvert.java | 24 --- .../dal/dataobject/ajreport/package-info.java | 4 - .../dataobject/goview/GoViewProjectDO.java | 57 ------- .../dataobject/template/ReportDatasetDO.java | 21 ++- .../template/ReportDatasourceDO.java | 27 ++-- .../dataobject/template/ReportTemplateDO.java | 12 +- .../dal/mysql/ajreport/package-info.java | 4 - .../dal/mysql/goview/GoViewProjectMapper.java | 19 --- .../config/JmReportConfiguration.java | 25 --- .../service/JmReportTokenServiceImpl.java | 149 ------------------ .../jmreport/core/web/package-info.java | 4 - .../service/ajreport/DemoDataService.java | 78 --------- .../report/service/ajreport/package-info.java | 4 - .../service/goview/GoViewDataService.java | 20 --- .../service/goview/GoViewDataServiceImpl.java | 55 ------- .../service/goview/GoViewProjectService.java | 57 ------- .../goview/GoViewProjectServiceImpl.java | 74 --------- .../template/ReportDatasetService.java | 13 ++ .../template/ReportDatasetServiceImpl.java | 17 ++ .../template/ReportDatasourceService.java | 4 +- .../template/ReportDatasourceServiceImpl.java | 2 +- .../template/ReportTemplateServiceImpl.java | 106 +++++++++++-- .../template/ReportCommonServiceImplTest.java | 29 ++-- .../ReportDatasourceServiceImplTest.java | 2 +- .../ReportTemplateServiceImplTest.java | 7 +- 48 files changed, 396 insertions(+), 940 deletions(-) create mode 100644 cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/CompressObjectListTypeHandler.java create mode 100644 cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/CompressStringTypeHandler.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/ajreport/package-info.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/GoViewDataController.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/GoViewProjectController.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/data/GoViewDataGetBySqlReqVO.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/data/GoViewDataRespVO.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/project/GoViewProjectCreateReqVO.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/project/GoViewProjectRespVO.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/project/GoViewProjectUpdateReqVO.java create mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetFieldVO.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/convert/ajreport/package-info.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/convert/goview/GoViewProjectConvert.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/ajreport/package-info.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/goview/GoViewProjectDO.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/ajreport/package-info.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/goview/GoViewProjectMapper.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/jmreport/config/JmReportConfiguration.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/jmreport/core/service/JmReportTokenServiceImpl.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/jmreport/core/web/package-info.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/ajreport/DemoDataService.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/ajreport/package-info.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewDataService.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewDataServiceImpl.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewProjectService.java delete mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewProjectServiceImpl.java diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/CompressObjectListTypeHandler.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/CompressObjectListTypeHandler.java new file mode 100644 index 000000000..750b64ed0 --- /dev/null +++ b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/CompressObjectListTypeHandler.java @@ -0,0 +1,73 @@ +package com.cf.imes.framework.mybatis.core.type; + +import com.cf.imes.framework.common.util.json.JsonUtils; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.JdbcType; +import org.apache.ibatis.type.MappedJdbcTypes; +import org.apache.ibatis.type.MappedTypes; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +/** + * mb自定义压缩列表类型转换器 + * + * @author Gqr + * @since 2024/7/10 10:51 + */ +@MappedJdbcTypes(JdbcType.VARCHAR) +@MappedTypes(List.class) +public class CompressObjectListTypeHandler extends BaseTypeHandler> { + private final ObjectMapper objectMapper = new ObjectMapper(); + + @Override + public void setNonNullParameter(PreparedStatement ps, int i, List parameter, JdbcType jdbcType) throws SQLException { + try { + String jsonString = objectMapper.writeValueAsString(parameter); + // 压缩 + String compressJsonString = JsonUtils.zipString(jsonString); + ps.setString(i, compressJsonString); + } catch (JsonProcessingException e) { + throw new RuntimeException("Error serializing List to JSON", e); + } + } + + @Override + public List getNullableResult(ResultSet rs, String columnName) throws SQLException { + String jsonStr = rs.getString(columnName); + return parseJson(jsonStr); + } + + @Override + public List getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + String jsonStr = rs.getString(columnIndex); + return parseJson(jsonStr); + } + + @Override + public List getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + String jsonStr = cs.getString(columnIndex); + return parseJson(jsonStr); + } + + private List parseJson(String jsonStr) { + if (jsonStr == null || jsonStr.isEmpty()) { + return null; + } + try { + // Using JavaType to handle List deserialization + JavaType javaType = objectMapper.getTypeFactory().constructCollectionType(List.class, Object.class); + // 解压 + String compressJsonString = JsonUtils.unzipString(jsonStr); + return objectMapper.readValue(compressJsonString, javaType); + } catch (Exception e) { + throw new RuntimeException("Error deserializing JSON to List", e); + } + } +} diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/CompressStringTypeHandler.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/CompressStringTypeHandler.java new file mode 100644 index 000000000..084cb6b4e --- /dev/null +++ b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/CompressStringTypeHandler.java @@ -0,0 +1,43 @@ +package com.cf.imes.framework.mybatis.core.type; + +import com.cf.imes.framework.common.util.json.JsonUtils; +import org.apache.ibatis.type.JdbcType; +import org.apache.ibatis.type.StringTypeHandler; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +/** + * mb自定义压缩字符串类型转换器 + * + * @author Gqr + * @since 2024/7/10 16:05 + */ +public class CompressStringTypeHandler extends StringTypeHandler { + @Override + public void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) + throws SQLException { + String compressString = JsonUtils.zipString(parameter); + ps.setString(i, compressString); + } + + @Override + public String getNullableResult(ResultSet rs, String columnName) throws SQLException { + String compressedString = rs.getString(columnName); + return JsonUtils.unzipString(compressedString); + } + + @Override + public String getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + String compressedString = rs.getString(columnIndex); + return JsonUtils.unzipString(compressedString); + } + + @Override + public String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + String compressedString = cs.getString(columnIndex); + return JsonUtils.unzipString(compressedString); + } +} diff --git a/cf-module-report/cf-module-report-biz/pom.xml b/cf-module-report/cf-module-report-biz/pom.xml index b783e6727..4495719c0 100644 --- a/cf-module-report/cf-module-report-biz/pom.xml +++ b/cf-module-report/cf-module-report-biz/pom.xml @@ -14,8 +14,7 @@ ${project.artifactId} - report 模块,主要实现数据可视化报表等功能: - 1. 基于「积木报表」实现,打印设计、报表设计、图形设计、大屏设计等。 + report 模块,主要实现数据可视化报表等功能 @@ -104,17 +103,6 @@ cf-spring-boot-starter-monitor - - - org.jeecgframework.jimureport - jimureport-spring-boot-starter - - - - xerces - xercesImpl - - diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/ajreport/package-info.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/ajreport/package-info.java deleted file mode 100644 index 1d77c5a8d..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/ajreport/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package com.cf.imes.module.report.controller.admin.ajreport; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/GoViewDataController.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/GoViewDataController.java deleted file mode 100644 index 28465793e..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/GoViewDataController.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.cf.imes.module.report.controller.admin.goview; - -import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.RandomUtil; -import com.cf.imes.framework.common.pojo.CommonResult; -import com.cf.imes.framework.operatelog.core.annotations.OperateLog; -import com.cf.imes.module.report.controller.admin.goview.vo.data.GoViewDataGetBySqlReqVO; -import com.cf.imes.module.report.controller.admin.goview.vo.data.GoViewDataRespVO; -import com.cf.imes.module.report.service.goview.GoViewDataService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import javax.annotation.security.PermitAll; -import javax.validation.Valid; - -import java.util.*; - -import static com.cf.imes.framework.common.pojo.CommonResult.success; - - -@Tag(name = "管理后台 - GoView 数据", description = "提供 SQL、HTTP 等数据查询的能力") -@RestController -@RequestMapping("/report/go-view/data") -@Validated -public class GoViewDataController { - - @Resource - private GoViewDataService goViewDataService; - - - @RequestMapping("/get-by-sql") - @Operation(summary = "使用 SQL 查询数据") - @PreAuthorize("@ss.hasPermission('report:go-view-data:get-by-sql')") - @OperateLog(enable = false) // 不记录操作日志,因为不需要 - public CommonResult getDataBySQL(@Valid @RequestBody GoViewDataGetBySqlReqVO reqVO) { - return success(goViewDataService.getDataBySQL(reqVO.getSql())); - } - - @RequestMapping("/get-by-http") - @Operation(summary = "使用 HTTP 查询数据", description = "这个只是示例接口,实际应该每个查询,都要写一个接口") - @PreAuthorize("@ss.hasPermission('report:go-view-data:get-by-http')") - @OperateLog(enable = false) // 不记录操作日志,因为不需要 - public CommonResult getDataByHttp( - @RequestParam(required = false) Map params, - @RequestBody(required = false) String body) { // params、body 按照需要去接收,这里仅仅是示例 - GoViewDataRespVO respVO = new GoViewDataRespVO(); - // 1. 数据维度 - respVO.setDimensions(Arrays.asList("日期", "PV", "UV")); // PV 是每天访问次数;UV 是每天访问人数 - // 2. 明细数据列表 - // 目前通过随机的方式生成。一般来说,这里你可以写逻辑来实现数据的返回 - respVO.setSource(new LinkedList<>()); - for (int i = 1; i <= 12; i++) { - String date = "2021-" + (i < 10 ? "0" + i : i); - Integer pv = RandomUtil.randomInt(1000, 10000); - Integer uv = RandomUtil.randomInt(100, 1000); - respVO.getSource().add(MapUtil.builder().put("日期", date) - .put("PV", pv).put("UV", uv).build()); - } - return success(respVO); - } - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/GoViewProjectController.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/GoViewProjectController.java deleted file mode 100644 index ffb5f0691..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/GoViewProjectController.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.cf.imes.module.report.controller.admin.goview; - -import com.cf.imes.framework.common.pojo.CommonResult; -import com.cf.imes.framework.common.pojo.PageParam; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.module.report.controller.admin.goview.vo.project.GoViewProjectCreateReqVO; -import com.cf.imes.module.report.controller.admin.goview.vo.project.GoViewProjectRespVO; -import com.cf.imes.module.report.controller.admin.goview.vo.project.GoViewProjectUpdateReqVO; -import com.cf.imes.module.report.convert.goview.GoViewProjectConvert; -import com.cf.imes.module.report.dal.dataobject.goview.GoViewProjectDO; -import com.cf.imes.module.report.service.goview.GoViewProjectService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import static com.cf.imes.framework.common.pojo.CommonResult.success; -import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; - -@Tag(name = "管理后台 - GoView 项目") -@RestController -@RequestMapping("/report/go-view/project") -@Validated -public class GoViewProjectController { - - @Resource - private GoViewProjectService goViewProjectService; - - @PostMapping("/create") - @Operation(summary = "创建项目") - @PreAuthorize("@ss.hasPermission('report:go-view-project:create')") - public CommonResult createProject(@Valid @RequestBody GoViewProjectCreateReqVO createReqVO) { - return success(goViewProjectService.createProject(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新项目") - @PreAuthorize("@ss.hasPermission('report:go-view-project:update')") - public CommonResult updateProject(@Valid @RequestBody GoViewProjectUpdateReqVO updateReqVO) { - goViewProjectService.updateProject(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除 GoView 项目") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('report:go-view-project:delete')") - public CommonResult deleteProject(@RequestParam("id") Long id) { - goViewProjectService.deleteProject(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得项目") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('report:go-view-project:query')") - public CommonResult getProject(@RequestParam("id") Long id) { - GoViewProjectDO project = goViewProjectService.getProject(id); - return success(GoViewProjectConvert.INSTANCE.convert(project)); - } - - @GetMapping("/my-page") - @Operation(summary = "获得我的项目分页") - @PreAuthorize("@ss.hasPermission('report:go-view-project:query')") - public CommonResult> getMyProjectPage(@Valid PageParam pageVO) { - PageResult pageResult = goViewProjectService.getMyProjectPage( - pageVO, getLoginUserId()); - return success(GoViewProjectConvert.INSTANCE.convertPage(pageResult)); - } - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/data/GoViewDataGetBySqlReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/data/GoViewDataGetBySqlReqVO.java deleted file mode 100644 index c4a12f6ef..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/data/GoViewDataGetBySqlReqVO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.cf.imes.module.report.controller.admin.goview.vo.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; - -@Schema(description = "管理后台 - GoView 使用 SQL 查询数据 Request VO") -@Data -public class GoViewDataGetBySqlReqVO { - - @Schema(description = "SQL 语句", requiredMode = Schema.RequiredMode.REQUIRED, example = "SELECT * FROM user") - @NotEmpty(message = "SQL 语句不能为空") - private String sql; - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/data/GoViewDataRespVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/data/GoViewDataRespVO.java deleted file mode 100644 index a685c5f1b..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/data/GoViewDataRespVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.cf.imes.module.report.controller.admin.goview.vo.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; -import java.util.Map; - -@Schema(description = "管理后台 - GoView 数据 Response VO") -@Data -public class GoViewDataRespVO { - - @Schema(description = "数据维度", requiredMode = Schema.RequiredMode.REQUIRED, example = "['product', 'data1', 'data2']") - private List dimensions; - - @Schema(description = "数据明细列表", requiredMode = Schema.RequiredMode.REQUIRED) - private List> source; - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/project/GoViewProjectCreateReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/project/GoViewProjectCreateReqVO.java deleted file mode 100644 index 1d2b273ce..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/project/GoViewProjectCreateReqVO.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.cf.imes.module.report.controller.admin.goview.vo.project; - -import lombok.*; -import io.swagger.v3.oas.annotations.media.Schema; -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - GoView 项目创建 Request VO") -@Data -public class GoViewProjectCreateReqVO { - - @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") - @NotEmpty(message = "项目名称不能为空") - private String name; - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/project/GoViewProjectRespVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/project/GoViewProjectRespVO.java deleted file mode 100644 index 3885448ed..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/project/GoViewProjectRespVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.cf.imes.module.report.controller.admin.goview.vo.project; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - GoView 项目 Response VO") -@Data -public class GoViewProjectRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18993") - private Long id; - - @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") - private String name; - - @Schema(description = "发布状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer status; - - @Schema(description = "报表内容") // JSON 格式 - private String content; - - @Schema(description = "预览图片 URL", example = "https://www.iocoder.cn") - private String picUrl; - - @Schema(description = "项目备注", example = "你猜") - private String remark; - - @Schema(description = "创建人编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String creator; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/project/GoViewProjectUpdateReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/project/GoViewProjectUpdateReqVO.java deleted file mode 100644 index e0cd461f6..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/goview/vo/project/GoViewProjectUpdateReqVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.cf.imes.module.report.controller.admin.goview.vo.project; - -import com.cf.imes.framework.common.enums.CommonStatusEnum; -import com.cf.imes.framework.common.validation.InEnum; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - GoView 项目更新 Request VO") -@Data -public class GoViewProjectUpdateReqVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18993") - @NotNull(message = "编号不能为空") - private Long id; - - @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") - private String name; - - @Schema(description = "发布状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @InEnum(value = CommonStatusEnum.class, message = "发布状态必须是 {value}") - private Integer status; - - @Schema(description = "报表内容") // JSON 格式 - private String content; - - @Schema(description = "预览图片 URL", example = "https://www.iocoder.cn") - private String picUrl; - - @Schema(description = "项目备注", example = "你猜") - private String remark; - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java index 7894af6d0..3c458a2ee 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java @@ -2,7 +2,6 @@ package com.cf.imes.module.report.controller.admin.template; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateReqVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateRespVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateSaveReqVO; @@ -40,7 +39,6 @@ public class ReportTemplateController { @Operation(summary = "创建报表模板信息") @PreAuthorize("@ss.hasPermission('report:template:create')") public CommonResult createTemplate(@Valid @RequestBody ReportTemplateSaveReqVO createReqVO) { - OrganContextHolder.setOrganId(1L); return success(templateService.createReportTemplate(createReqVO)); } @@ -73,9 +71,8 @@ public class ReportTemplateController { @GetMapping("/templates") @Operation(summary = "获得报表模板信息列表") @PreAuthorize("@ss.hasPermission('report:template:query')") - public CommonResult> getTemplatePage(@RequestParam(value = "name", required = false) String name, - @RequestParam(value = "type", required = false) Integer type) { - ReportTemplateReqVO reqVO = new ReportTemplateReqVO(name, type); + public CommonResult> getTemplatePage(@RequestParam(value = "name", required = false) String name) { + ReportTemplateReqVO reqVO = new ReportTemplateReqVO(name, null); return success(BeanUtils.toBean(templateService.getReportTemplateList(reqVO), ReportTemplateRespVO.class)); } } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetFieldVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetFieldVO.java new file mode 100644 index 000000000..9b9ce8542 --- /dev/null +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetFieldVO.java @@ -0,0 +1,26 @@ +package com.cf.imes.module.report.controller.admin.template.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author Gqr + * @since 2024/7/8 11:36 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ReportDatasetFieldVO implements Serializable { + @Serial + private static final long serialVersionUID = 8325596134986873011L; + /** + * 字段名称 + */ + @Schema(description = "字段名称") + private String name; +} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetParameterVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetParameterVO.java index e989fe9ad..c2be9590a 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetParameterVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetParameterVO.java @@ -1,9 +1,13 @@ package com.cf.imes.module.report.controller.admin.template.vo; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import java.io.Serial; +import java.io.Serializable; + /** * @author Gqr * @since 2024/7/8 11:36 @@ -11,19 +15,24 @@ import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor -public class ReportDatasetParameterVO { +public class ReportDatasetParameterVO implements Serializable { + @Serial + private static final long serialVersionUID = 2752387952196201725L; /** * 参数名称 */ + @Schema(description = "参数名称") private String name; /** * 类型 */ - private Integer type; + @Schema(description = "参数类型") + private String type; /** * 默认值 */ + @Schema(description = "参数默认值") private String defaultValue; } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetReqVO.java index d31af7706..f3efa38cd 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetReqVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetReqVO.java @@ -2,6 +2,7 @@ package com.cf.imes.module.report.controller.admin.template.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; @@ -13,6 +14,7 @@ import lombok.ToString; @Schema(description = "管理后台 - 报表数据集 Request VO") @Data @ToString(callSuper = true) +@Builder @AllArgsConstructor @NoArgsConstructor public class ReportDatasetReqVO { diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetRespVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetRespVO.java index 1f2a595f9..da440041d 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetRespVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetRespVO.java @@ -27,11 +27,14 @@ public class ReportDatasetRespVO { private Long datasourceId; @Schema(description = "动态查询SQL") - private String dbSql; - - @Schema(description = "参数列表") - private List params; + private String sql; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDateTime createTime; + + @Schema(description = "参数列表") + private List parameters; + + @Schema(description = "字段列表") + private List fields; } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetSaveReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetSaveReqVO.java index 759b8ef27..17a91107f 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetSaveReqVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetSaveReqVO.java @@ -30,8 +30,11 @@ public class ReportDatasetSaveReqVO { private Long datasourceId; @Schema(description = "动态查询SQL") - private String dbSql; + private String sql; @Schema(description = "参数列表") - private List params; + private List parameters; + + @Schema(description = "字段列表") + private List fields; } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceReqVO.java index 263af97e6..fef00a43a 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceReqVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceReqVO.java @@ -2,6 +2,7 @@ package com.cf.imes.module.report.controller.admin.template.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; @@ -13,15 +14,16 @@ import lombok.ToString; @Schema(description = "管理后台 - 报表数据源 Request VO") @Data @ToString(callSuper = true) +@Builder @AllArgsConstructor @NoArgsConstructor public class ReportDatasourceReqVO { @Schema(description = "模板id", example = "1", requiredMode = Schema.RequiredMode.REQUIRED) - private Long reportId; + private Long templateId; @Schema(description = "数据源名称", example = "测试库") private String name; - @Schema(description = "模板类型,0内置、1自定义", example = "0") + @Schema(description = "数据源类型,jdbc、buildin", example = "jdbc") private Integer type; } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceRespVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceRespVO.java index 901032350..74d7a875f 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceRespVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceRespVO.java @@ -5,7 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import java.time.LocalDateTime; +import java.util.List; /** * @author Gqr @@ -26,24 +26,24 @@ public class ReportDatasourceRespVO { @Schema(description = "数据源名称", example = "测试库") private String name; - @Schema(description = "模板类型,0内置、1自定义", example = "0") - private Integer type; + @Schema(description = "数据源类型,jdbc、buildin", example = "jdbc") + private String type; @Schema(description = "数据源驱动类",example = "com.mysql.cj.jdbc.Driver") - private String dbDriver; + private String driver; @Schema(description = "数据源地址", example = "https://www.cf.com") - private String dbUrl; + private String url; @Schema(description = "数据源用户名", example = "晨丰") - private String dbUsername; + private String username; @Schema(description = "数据源密码", example = "晨丰") - private String dbPassword; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; + private String password; @Schema(description = "备注", example = "该模板仅供生产使用") private String remark; + + @Schema(description = "数据集") + private List datasets; } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceSaveReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceSaveReqVO.java index b4f7e5c32..d34aeccca 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceSaveReqVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceSaveReqVO.java @@ -7,6 +7,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import javax.validation.constraints.NotNull; +import java.util.List; /** * @author Gqr @@ -23,26 +24,29 @@ public class ReportDatasourceSaveReqVO { @Schema(description = "模板id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "模板id不能为空") - private Long reportId; + private Long templateId; @Schema(description = "数据源名称", example = "测试库") private String name; - @Schema(description = "模板类型,0内置、1自定义", example = "0") - private Integer type; + @Schema(description = "数据源类型,jdbc、buildin", example = "jdbc") + private String type; @Schema(description = "数据源驱动类",example = "com.mysql.cj.jdbc.Driver") - private String dbDriver; + private String driver; @Schema(description = "数据源地址", example = "https://www.cf.com") - private String dbUrl; + private String url; @Schema(description = "数据源用户名", example = "晨丰") - private String dbUsername; + private String username; @Schema(description = "数据源密码", example = "晨丰") - private String dbPassword; + private String password; @Schema(description = "备注", example = "该模板仅供生产使用") private String remark; + + @Schema(description = "数据集") + private List datasets; } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java index c30be245c..3dcf50627 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.time.LocalDateTime; +import java.util.List; /** * @author Gqr @@ -23,7 +24,7 @@ public class ReportTemplateRespVO { private String name; @Schema(description = "报表模板") - private String template; + private String content; @Schema(description = "模板类型,0内置、1自定义", example = "0") private Long type; @@ -33,4 +34,7 @@ public class ReportTemplateRespVO { @Schema(description = "备注", example = "该模板仅供生产使用") private String remark; + + @Schema(description = "数据源") + private List datasource; } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateSaveReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateSaveReqVO.java index 77240f72a..9ecc67bb7 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateSaveReqVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateSaveReqVO.java @@ -7,6 +7,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; +import java.util.List; /** * @author Gqr @@ -26,7 +27,10 @@ public class ReportTemplateSaveReqVO { private String name; @Schema(description = "报表模板") - private String template; + private String content; + + @Schema(description = "数据源") + private List datasource; @Schema(description = "模板类型,0内置、1自定义", example = "1") private Integer type; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/convert/ajreport/package-info.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/convert/ajreport/package-info.java deleted file mode 100644 index 06d0b9780..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/convert/ajreport/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TODO 占位,后续删除 - */ -package com.cf.imes.module.report.convert.ajreport; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/convert/goview/GoViewProjectConvert.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/convert/goview/GoViewProjectConvert.java deleted file mode 100644 index 4e861fabc..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/convert/goview/GoViewProjectConvert.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.cf.imes.module.report.convert.goview; - -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.module.report.controller.admin.goview.vo.project.GoViewProjectCreateReqVO; -import com.cf.imes.module.report.controller.admin.goview.vo.project.GoViewProjectRespVO; -import com.cf.imes.module.report.controller.admin.goview.vo.project.GoViewProjectUpdateReqVO; -import com.cf.imes.module.report.dal.dataobject.goview.GoViewProjectDO; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -@Mapper -public interface GoViewProjectConvert { - - GoViewProjectConvert INSTANCE = Mappers.getMapper(GoViewProjectConvert.class); - - GoViewProjectDO convert(GoViewProjectCreateReqVO bean); - - GoViewProjectDO convert(GoViewProjectUpdateReqVO bean); - - GoViewProjectRespVO convert(GoViewProjectDO bean); - - PageResult convertPage(PageResult page); - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/ajreport/package-info.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/ajreport/package-info.java deleted file mode 100644 index d2dd18f43..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/ajreport/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TODO 芋艿:占位,待删除 - */ -package com.cf.imes.module.report.dal.dataobject.ajreport; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/goview/GoViewProjectDO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/goview/GoViewProjectDO.java deleted file mode 100644 index 57c8406bb..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/goview/GoViewProjectDO.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.cf.imes.module.report.dal.dataobject.goview; - -import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -/** - * GoView 项目表 - * - * 每个大屏图标,对应一个项目 - * - * @author 晨丰科技 - */ -@TableName(value = "report_go_view_project", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users -@KeySequence("report_go_view_project_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class GoViewProjectDO extends BaseDO { - - /** - * 编号,数据库自增 - */ - @TableId - private Long id; - /** - * 项目名称 - */ - private String name; - /** - * 预览图片 URL - */ - private String picUrl; - /** - * 报表内容 - * - * JSON 配置,使用字符串存储 - */ - private String content; - /** - * 发布状态 - * - * 0 - 已发布 - * 1 - 未发布 - * - * 枚举 {@link com.cf.imes.framework.common.enums.CommonStatusEnum} - */ - private Integer status; - /** - * 项目备注 - */ - private String remark; -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasetDO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasetDO.java index 23f3cc513..38d9d5a50 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasetDO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasetDO.java @@ -5,9 +5,16 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; -import com.cf.imes.framework.mybatis.core.type.ObjectListTypeHandler; +import com.cf.imes.framework.mybatis.core.type.CompressObjectListTypeHandler; +import com.cf.imes.framework.mybatis.core.type.CompressStringTypeHandler; +import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetFieldVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetParameterVO; -import lombok.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; import java.util.List; @@ -42,10 +49,14 @@ public class ReportDatasetDO extends BaseDO { /** * 动态查询SQL */ - private String dbSql; + @TableField(value = "db_sql", typeHandler = CompressStringTypeHandler.class) + private String sql; /** * 参数列表 */ - @TableField(typeHandler = ObjectListTypeHandler.class) - private List params; + @TableField(typeHandler = CompressObjectListTypeHandler.class) + private List parameters; + + @TableField(typeHandler = CompressObjectListTypeHandler.class) + private List fields; } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasourceDO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasourceDO.java index f9fcb245d..148c79153 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasourceDO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasourceDO.java @@ -1,11 +1,14 @@ package com.cf.imes.module.report.dal.dataobject.template; import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import lombok.*; +import java.util.List; + /** * 报表数据源DO * @@ -29,35 +32,31 @@ public class ReportDatasourceDO extends BaseDO { /** * 模板id */ - private Long reportId; + private Long templateId; /** * 数据源名称 */ private String name; /** - * 模板类型,0内置、1自定义 + * 模板类型,jdbc、buildin */ - private Long type; - /** - * 数据库类型 - */ - private String dbType; + private String type; /** * 数据源驱动类 */ - private String dbDriver; + private String driver; /** * 数据源地址 */ - private String dbUrl; + private String url; /** * 数据源用户名 */ - private String dbUsername; + private String username; /** * 数据源密码 */ - private String dbPassword; + private String password; /** * 备注 */ @@ -66,4 +65,10 @@ public class ReportDatasourceDO extends BaseDO { * 组织id */ private Long organId; + + /** + * 数据集 + */ + @TableField(exist = false) + private List datasets; } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportTemplateDO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportTemplateDO.java index 8c38e958d..535159f0b 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportTemplateDO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportTemplateDO.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.*; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import lombok.*; +import java.util.List; + /** * 报表模板信息DO * @@ -31,11 +33,11 @@ public class ReportTemplateDO extends BaseDO { /** * 报表模板 */ - private String template; + private String content; /** * 模板类型,0内置、1自定义 */ - private Long type; + private Integer type; /** * 备注 */ @@ -45,4 +47,10 @@ public class ReportTemplateDO extends BaseDO { * 组织id */ private Long organId; + + /** + * 数据源 + */ + @TableField(exist = false) + private List datasource; } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/ajreport/package-info.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/ajreport/package-info.java deleted file mode 100644 index abdbf6284..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/ajreport/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TODO 芋艿:占位,待删除 - */ -package com.cf.imes.module.report.dal.mysql.ajreport; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/goview/GoViewProjectMapper.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/goview/GoViewProjectMapper.java deleted file mode 100644 index 6049fd874..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/goview/GoViewProjectMapper.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.cf.imes.module.report.dal.mysql.goview; - -import com.cf.imes.framework.common.pojo.PageParam; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.report.dal.dataobject.goview.GoViewProjectDO; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface GoViewProjectMapper extends BaseMapperX { - - default PageResult selectPage(PageParam reqVO, Long userId) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eq(GoViewProjectDO::getCreator, userId) - .orderByDesc(GoViewProjectDO::getId)); - } - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/jmreport/config/JmReportConfiguration.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/jmreport/config/JmReportConfiguration.java deleted file mode 100644 index 27b9519aa..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/jmreport/config/JmReportConfiguration.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.cf.imes.module.report.framework.jmreport.config; - -import com.cf.imes.framework.security.config.SecurityProperties; -import com.cf.imes.module.system.api.oauth2.OAuth2TokenApi; -import com.cf.imes.module.report.framework.jmreport.core.service.JmReportTokenServiceImpl; -import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; - -/** - * 积木报表的配置类 - * - * @author 晨丰科技 - */ -@Configuration(proxyBeanMethods = false) -@ComponentScan(basePackages = "org.jeecg.modules.jmreport") // 扫描积木报表的包 -public class JmReportConfiguration { - @Bean - @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") - public JmReportTokenServiceI jmReportTokenService(OAuth2TokenApi oAuth2TokenApi, SecurityProperties securityProperties) { - return new JmReportTokenServiceImpl(oAuth2TokenApi, securityProperties); - } - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/jmreport/core/service/JmReportTokenServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/jmreport/core/service/JmReportTokenServiceImpl.java deleted file mode 100644 index b1ab771ca..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/jmreport/core/service/JmReportTokenServiceImpl.java +++ /dev/null @@ -1,149 +0,0 @@ -package com.cf.imes.module.report.framework.jmreport.core.service; - -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.cf.imes.framework.common.exception.ServiceException; -import com.cf.imes.framework.common.util.servlet.ServletUtils; -import com.cf.imes.framework.security.config.SecurityProperties; -import com.cf.imes.framework.security.core.LoginUser; -import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; -import com.cf.imes.framework.organ.core.context.OrganContextHolder; -import com.cf.imes.framework.web.core.util.WebFrameworkUtils; -import com.cf.imes.module.system.api.oauth2.OAuth2TokenApi; -import com.cf.imes.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO; -import lombok.RequiredArgsConstructor; -import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; -import org.springframework.http.HttpHeaders; - -import javax.servlet.http.HttpServletRequest; -import java.util.Objects; - -/** - * {@link JmReportTokenServiceI} 实现类,提供积木报表的 Token 校验、用户信息的查询等功能 - * - * @author 随心 - */ -@RequiredArgsConstructor -public class JmReportTokenServiceImpl implements JmReportTokenServiceI { - - /** - * 积木 token head 头 - */ - private static final String JM_TOKEN_HEADER = "X-Access-Token"; - /** - * auth 相关格式 - */ - private static final String AUTHORIZATION_FORMAT = SecurityFrameworkUtils.AUTHORIZATION_BEARER + " %s"; - - private final OAuth2TokenApi oauth2TokenApi; - - private final SecurityProperties securityProperties; - - /** - * 自定义 API 数据集appian自定义 Header,解决 Token 传递。 - * 参考 api数据集token机制详解 文档 - * - * @return 新 head - */ - @Override - public HttpHeaders customApiHeader() { - // 读取积木标标系统的 token - HttpServletRequest request = ServletUtils.getRequest(); - String token = request.getHeader(JM_TOKEN_HEADER); - - // 设置到 cf 系统的 token - HttpHeaders headers = new HttpHeaders(); - headers.add(securityProperties.getTokenHeader(), String.format(AUTHORIZATION_FORMAT, token)); - return headers; - } - - /** - * 校验 Token 是否有效,即验证通过 - * - * @param token JmReport 前端传递的 token - * @return 是否认证通过 - */ - @Override - public Boolean verifyToken(String token) { - Long userId = SecurityFrameworkUtils.getLoginUserId(); - if (!Objects.isNull(userId)) { - return true; - } - return buildLoginUserByToken(token) != null; - } - - /** - * 获得用户编号 - *

- * 虽然方法名获得的是 username,实际对应到项目中是用户编号 - * - * @param token JmReport 前端传递的 token - * @return 用户编号 - */ - @Override - public String getUsername(String token) { - Long userId = SecurityFrameworkUtils.getLoginUserId(); - if (ObjectUtil.isNotNull(userId)) { - return String.valueOf(userId); - } - LoginUser user = buildLoginUserByToken(token); - return user == null ? null : String.valueOf(user.getId()); - } - - /** - * 基于 token 构建登录用户 - * - * @param token token - * @return 返回 token 对应的用户信息 - */ - private LoginUser buildLoginUserByToken(String token) { - if (StrUtil.isEmpty(token)) { - return null; - } - // TODO 如下的实现不算特别优雅,主要咱是不想搞的太复杂,所以参考对应的 Filter 先实现了 - - // ① 参考 TokenAuthenticationFilter 的认证逻辑(Security 的上下文清理,交给 Spring Security 完成) - // 目的:实现基于 JmReport 前端传递的 token,实现认证 - OrganContextHolder.setIgnore(true); // 忽略租户,保证可查询到 token 信息 - LoginUser user = null; - try { - OAuth2AccessTokenCheckRespDTO accessToken = oauth2TokenApi.checkAccessToken(token).getCheckedData(); - if (accessToken == null) { - return null; - } - user = new LoginUser().setId(accessToken.getUserId()).setUserType(accessToken.getUserType()) - .setOrganId(accessToken.getOrganId()).setScopes(accessToken.getScopes()) - .setDataCode(accessToken.getDataCode()).setLarge(accessToken.getLarge()) - .setNickname(accessToken.getNickname()); - } catch (ServiceException ignored) { - // do nothing:如果报错,说明认证失败,则返回 false 即可 - } - if (user == null) { - return null; - } - SecurityFrameworkUtils.setLoginUser(user, WebFrameworkUtils.getRequest()); - - // ② 参考 TenantContextWebFilter 实现(Tenant 的上下文清理,交给 TenantContextWebFilter 完成) - // 目的:基于 LoginUser 获得到的租户编号,设置到 Tenant 上下文,避免查询数据库时的报错 - OrganContextHolder.setIgnore(false); - OrganContextHolder.setOrganId(user.getOrganId()); - return user; - } - - @Override - public String[] getRoles(String s) { - // 暂时不用实现,因为不用 JmReport 的角色 - return null; - } - - @Override - public String getTenantId() { - // 补充说明:不能直接通过 TenantContext 获取,因为 jimu 报表前端请求时,没有带上 tenant-id Header - LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); - if (loginUser == null) { - return null; - } - return StrUtil.toStringOrNull(loginUser.getOrganId()); - } - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/jmreport/core/web/package-info.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/jmreport/core/web/package-info.java deleted file mode 100644 index 2e4c3dbf0..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/jmreport/core/web/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * 占位,后续会基于 Filter 实现积木报表的认证等功能,替代 {@link com.cf.imes.module.report.framework.jmreport.core.service.JmReportTokenServiceImpl} - */ -package com.cf.imes.module.report.framework.jmreport.core.web; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/ajreport/DemoDataService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/ajreport/DemoDataService.java deleted file mode 100644 index 1d2af747e..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/ajreport/DemoDataService.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.cf.imes.module.report.service.ajreport; - -import org.jeecg.modules.jmreport.api.data.IDataSetFactory; -import org.jeecg.modules.jmreport.desreport.model.JmPage; -import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @author there - */ -@Service -public class DemoDataService implements IDataSetFactory { - - /** - * 不分页时返回list - * @param map 参数 包括浏览器地址栏 和 查询条件 - * @return - */ - @Override - public List> createData(Map map) { - List> ls = new ArrayList<>(); - Map obj2 = new HashMap<>(); - obj2.put("name", "张三"); - obj2.put("age", "14"); - ls.add(obj2); - - Map obj3 = new HashMap<>(); - obj3.put("name", "李四"); - obj3.put("age", "15"); - ls.add(obj3); - - Map obj4 = new HashMap<>(); - obj4.put("name", "王五"); - obj4.put("age", "16"); - ls.add(obj4); - - return ls; - } - - /** - * 分页时返回 JmPage 并且参数param里会传入pageNo, pageSize - * @param map 参数 包括浏览器地址栏 和 查询条件 - * @return - */ - @Override - public JmPage createPageData(Map map) { - JmPage page = new JmPage(); - List> ls = new ArrayList<>(); - int pageSize = Integer.parseInt(map.get("pageSize").toString()); - - Map obj2 = new HashMap<>(); - obj2.put("name", "张三"); - obj2.put("age", "14"); - obj2.put("sex", "1"); - ls.add(obj2); - - Map obj3 = new HashMap<>(); - obj3.put("name", "李四"); - obj3.put("age", "15"); - obj2.put("sex", "2"); - ls.add(obj3); - - Map obj4 = new HashMap<>(); - obj4.put("name", "王五"); - obj4.put("age", "16"); - obj2.put("sex", "2"); - ls.add(obj4); - - //以下参数均需设置 - page.setPageSize(pageSize); - page.setTotal(20); - page.setRecords(ls); - return page; - } -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/ajreport/package-info.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/ajreport/package-info.java deleted file mode 100644 index f928a564b..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/ajreport/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TODO 芋艿:占位,待删除 - */ -package com.cf.imes.module.report.service.ajreport; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewDataService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewDataService.java deleted file mode 100644 index 488ed47fb..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewDataService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.cf.imes.module.report.service.goview; - -import com.cf.imes.module.report.controller.admin.goview.vo.data.GoViewDataRespVO; - -/** - * GoView 数据 Service 接口 - * - * @author 晨丰科技 - */ -public interface GoViewDataService { - - /** - * 使用 SQL 查询数据 - * - * @param sql SQL 语句 - * @return 数据 - */ - GoViewDataRespVO getDataBySQL(String sql); - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewDataServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewDataServiceImpl.java deleted file mode 100644 index 7d90073aa..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewDataServiceImpl.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.cf.imes.module.report.service.goview; - -import com.cf.imes.module.report.controller.admin.goview.vo.data.GoViewDataRespVO; -import com.google.common.collect.Maps; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.support.rowset.SqlRowSet; -import org.springframework.jdbc.support.rowset.SqlRowSetMetaData; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import javax.annotation.Resource; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.Map; - -/** - * GoView 数据 Service 实现类 - * - * 补充说明: - * 1. 目前默认使用 jdbcTemplate 查询项目配置的数据源。如果你想查询其它数据源,可以新建对应数据源的 jdbcTemplate 来实现。 - * 2. 默认数据源是 MySQL 关系数据源,可能数据量比较大的情况下,会比较慢,可以考虑后续使用 Click House 等等。 - * - * @author 晨丰科技 - */ -@Service -@Validated -public class GoViewDataServiceImpl implements GoViewDataService { - - @Resource - private JdbcTemplate jdbcTemplate; - - @Override - public GoViewDataRespVO getDataBySQL(String sql) { - // 1. 执行查询 - SqlRowSet sqlRowSet = jdbcTemplate.queryForRowSet(sql); - - // 2. 构建返回结果 - GoViewDataRespVO respVO = new GoViewDataRespVO(); - // 2.1 解析元数据 - SqlRowSetMetaData metaData = sqlRowSet.getMetaData(); - String[] columnNames = metaData.getColumnNames(); - respVO.setDimensions(Arrays.asList(columnNames)); - // 2.2 解析数据明细 - respVO.setSource(new LinkedList<>()); // 由于数据量不确认,使用 LinkedList 虽然内存占用大一点,但是不存在扩容复制的问题 - while (sqlRowSet.next()) { - Map data = Maps.newHashMapWithExpectedSize(columnNames.length); - for (String columnName : columnNames) { - data.put(columnName, sqlRowSet.getObject(columnName)); - } - respVO.getSource().add(data); - } - return respVO; - } - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewProjectService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewProjectService.java deleted file mode 100644 index 4b986a659..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewProjectService.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.cf.imes.module.report.service.goview; - -import com.cf.imes.framework.common.pojo.PageParam; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.module.report.controller.admin.goview.vo.project.GoViewProjectCreateReqVO; -import com.cf.imes.module.report.controller.admin.goview.vo.project.GoViewProjectUpdateReqVO; -import com.cf.imes.module.report.dal.dataobject.goview.GoViewProjectDO; - -import javax.validation.Valid; - -/** - * GoView 项目 Service 接口 - * - * @author 晨丰科技 - */ -public interface GoViewProjectService { - - /** - * 创建项目 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createProject(@Valid GoViewProjectCreateReqVO createReqVO); - - /** - * 更新项目 - * - * @param updateReqVO 更新信息 - */ - void updateProject(@Valid GoViewProjectUpdateReqVO updateReqVO); - - /** - * 删除项目 - * - * @param id 编号 - */ - void deleteProject(Long id); - - /** - * 获得项目 - * - * @param id 编号 - * @return 项目 - */ - GoViewProjectDO getProject(Long id); - - /** - * 获得我的项目分页 - * - * @param pageReqVO 分页查询 - * @param userId 用户编号 - * @return GoView 项目分页 - */ - PageResult getMyProjectPage(PageParam pageReqVO, Long userId); - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewProjectServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewProjectServiceImpl.java deleted file mode 100644 index 5b49f46c9..000000000 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/goview/GoViewProjectServiceImpl.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.cf.imes.module.report.service.goview; - -import com.cf.imes.framework.common.enums.CommonStatusEnum; -import com.cf.imes.framework.common.pojo.PageParam; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.module.report.controller.admin.goview.vo.project.GoViewProjectCreateReqVO; -import com.cf.imes.module.report.controller.admin.goview.vo.project.GoViewProjectUpdateReqVO; -import com.cf.imes.module.report.convert.goview.GoViewProjectConvert; -import com.cf.imes.module.report.dal.dataobject.goview.GoViewProjectDO; -import com.cf.imes.module.report.dal.mysql.goview.GoViewProjectMapper; -import com.cf.imes.module.report.enums.ErrorCodeConstants; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import javax.annotation.Resource; - -import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; - -/** - * GoView 项目 Service 实现类 - * - * @author 晨丰科技 - */ -@Service -@Validated -public class GoViewProjectServiceImpl implements GoViewProjectService { - - @Resource - private GoViewProjectMapper goViewProjectMapper; - - @Override - public Long createProject(GoViewProjectCreateReqVO createReqVO) { - // 插入 - GoViewProjectDO goViewProject = GoViewProjectConvert.INSTANCE.convert(createReqVO) - .setStatus(CommonStatusEnum.DISABLE.getStatus()); - goViewProjectMapper.insert(goViewProject); - // 返回 - return goViewProject.getId(); - } - - @Override - public void updateProject(GoViewProjectUpdateReqVO updateReqVO) { - // 校验存在 - validateProjectExists(updateReqVO.getId()); - // 更新 - GoViewProjectDO updateObj = GoViewProjectConvert.INSTANCE.convert(updateReqVO); - goViewProjectMapper.updateById(updateObj); - } - - @Override - public void deleteProject(Long id) { - // 校验存在 - validateProjectExists(id); - // 删除 - goViewProjectMapper.deleteById(id); - } - - private void validateProjectExists(Long id) { - if (goViewProjectMapper.selectById(id) == null) { - throw exception(ErrorCodeConstants.GO_VIEW_PROJECT_NOT_EXISTS); - } - } - - @Override - public GoViewProjectDO getProject(Long id) { - return goViewProjectMapper.selectById(id); - } - - @Override - public PageResult getMyProjectPage(PageParam pageReqVO, Long userId) { - return goViewProjectMapper.selectPage(pageReqVO, userId); - } - -} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetService.java index 7ef23e8b4..083ce154e 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetService.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetService.java @@ -22,6 +22,12 @@ public interface ReportDatasetService { */ Long createDataset(@Valid ReportDatasetSaveReqVO createReqVO); + /** + * 批量创建报表数据集 + * @param createReqVOList + */ + void batchCreateDataset(@Valid List createReqVOList); + /** * 更新报表数据集 * @@ -29,6 +35,13 @@ public interface ReportDatasetService { */ void updateDataset(@Valid ReportDatasetSaveReqVO updateReqVO); + + /** + * 批量更新报表数据集 + * @param createReqVOList + */ + void batchUpdateDataset(@Valid List createReqVOList); + /** * 删除报表数据集 * diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetServiceImpl.java index c6a9fbed4..affcc376b 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetServiceImpl.java @@ -1,5 +1,6 @@ package com.cf.imes.module.report.service.template; +import cn.hutool.core.collection.CollUtil; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetReqVO; @@ -36,6 +37,14 @@ public class ReportDatasetServiceImpl implements ReportDatasetService { return dataset.getId(); } + @Override + public void batchCreateDataset(List createReqVOList) { + List reportDatasetDOS = BeanUtils.toBean(createReqVOList, ReportDatasetDO.class); + if (CollUtil.isNotEmpty(reportDatasetDOS)) { + datasetMapper.insertBatch(reportDatasetDOS); + } + } + @Override public void updateDataset(ReportDatasetSaveReqVO updateReqVO) { // 校验存在 @@ -45,6 +54,14 @@ public class ReportDatasetServiceImpl implements ReportDatasetService { datasetMapper.updateById(updateObj); } + @Override + public void batchUpdateDataset(List createReqVOList) { + List reportDatasetDOS = BeanUtils.toBean(createReqVOList, ReportDatasetDO.class); + if (CollUtil.isNotEmpty(reportDatasetDOS)) { + datasetMapper.updateBatch(reportDatasetDOS); + } + } + @Override public void deleteDataset(Long id) { // 校验存在 diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceService.java index 44f40d984..cfc0e5d04 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceService.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceService.java @@ -47,8 +47,8 @@ public interface ReportDatasourceService { /** * 获取模板下的数据源列表 * - * @param pageReqVO 分页查询 + * @param reqVO 查询参数 * @return 报表数据源分页 */ - List getTemplateDatasourceList(ReportDatasourceReqVO pageReqVO); + List getTemplateDatasourceList(ReportDatasourceReqVO reqVO); } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImpl.java index 0ab52090a..62bedc213 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImpl.java @@ -72,7 +72,7 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService { @Override public List getTemplateDatasourceList(ReportDatasourceReqVO reqVO) { return datasourceMapper.selectList(new LambdaQueryWrapperX() - .eqIfPresent(ReportDatasourceDO::getReportId, reqVO.getReportId()) + .eqIfPresent(ReportDatasourceDO::getTemplateId, reqVO.getTemplateId()) .likeIfPresent(ReportDatasourceDO::getName, reqVO.getName()) .eqIfPresent(ReportDatasourceDO::getType, reqVO.getType()) .orderByDesc(ReportDatasourceDO::getCreateTime)); diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java index 630000b44..488830c85 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java @@ -1,18 +1,28 @@ package com.cf.imes.module.report.service.template; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.URLUtil; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetReqVO; +import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetSaveReqVO; +import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceReqVO; +import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceSaveReqVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateReqVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateSaveReqVO; +import com.cf.imes.module.report.dal.dataobject.template.ReportDatasetDO; +import com.cf.imes.module.report.dal.dataobject.template.ReportDatasourceDO; import com.cf.imes.module.report.dal.dataobject.template.ReportTemplateDO; import com.cf.imes.module.report.dal.mysql.template.ReportTemplateMapper; import com.cf.imes.module.report.enums.ErrorCodeConstants; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -29,31 +39,87 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { @Resource private ReportTemplateMapper templateMapper; + @Resource + private ReportDatasourceService datasourceService; + + @Resource + private ReportDatasetService datasetService; + @Override + @Transactional(rollbackFor = Exception.class) public Long createReportTemplate(ReportTemplateSaveReqVO createReqVO) { - String templateContent = URLUtil.decode(createReqVO.getTemplate()); - if(StringUtils.isNotEmpty(templateContent)) { - // todo template压缩待完善 - createReqVO.setTemplate(templateContent); + // url解码xml + String content = createReqVO.getContent(); + if (StringUtils.isNotEmpty(content)) { + createReqVO.setContent(URLUtil.decode(content)); } - // 插入 + // 新增模板 ReportTemplateDO template = BeanUtils.toBean(createReqVO, ReportTemplateDO.class); templateMapper.insert(template); + Long templateId = template.getId(); + // 解析数据源 + analyzeDatasource(createReqVO.getDatasource(), templateId); // 返回主键 - return template.getId(); + return templateId; + } + + /** + * 解析数据源集合并入库 + * + * @param datasource 数据源列表 + * @param templateId 模板id + */ + private void analyzeDatasource(List datasource, Long templateId) { + datasource.forEach(ds -> { + // 更新/新增数据源 + if (ObjectUtil.isNotNull(ds.getId())) { + datasourceService.updateDatasource(ds); + } else { + ds.setTemplateId(templateId); + datasourceService.createDatasource(ds); + } + // 获取自增数据源主键 + Long datasourceId = ds.getId(); + List datasets = ds.getDatasets(); + List batchInsertDataset = new ArrayList<>(); + List batchupdateDataset = new ArrayList<>(); + datasets.forEach(dataset -> { + // 更新/新增数据集 + if (ObjectUtil.isNotNull(dataset.getId())) { + batchupdateDataset.add(dataset); + } else { + dataset.setDatasourceId(datasourceId); + batchInsertDataset.add(dataset); + } + }); + + // 批量插入数据集 + if (CollUtil.isNotEmpty(batchInsertDataset)) { + datasetService.batchCreateDataset(batchInsertDataset); + } + // 批量更新数据集 + if (CollUtil.isNotEmpty(batchupdateDataset)) { + datasetService.batchUpdateDataset(batchupdateDataset); + } + }); } @Override public void updateReportTemplate(ReportTemplateSaveReqVO updateReqVO) { + Long templateId = updateReqVO.getId(); // 校验存在 - validateTemplateExists(updateReqVO.getId()); - String templateContent = updateReqVO.getTemplate(); - if (StringUtils.isNotEmpty(templateContent)) { - // todo template压缩待完善 + validateTemplateExists(templateId); + // url解码xml + String content = updateReqVO.getContent(); + if (StringUtils.isNotEmpty(content)) { + updateReqVO.setContent(URLUtil.decode(content)); } - // 更新 + // 更新模板 ReportTemplateDO updateObj = BeanUtils.toBean(updateReqVO, ReportTemplateDO.class); templateMapper.updateById(updateObj); + + // 更新数据源 + analyzeDatasource(updateReqVO.getDatasource(), templateId); } @Override @@ -77,7 +143,19 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { @Override public ReportTemplateDO getReportTemplate(Long id) { - return templateMapper.selectById(id); + // 查询模板 + ReportTemplateDO template = templateMapper.selectById(id); + if (ObjectUtil.isNotNull(template)) { + // 查询数据源 + List datasourceList = datasourceService.getTemplateDatasourceList(ReportDatasourceReqVO.builder().templateId(template.getId()).build()); + datasourceList.forEach(ds -> { + // 查询数据集 + List datasetList = datasetService.getDatasetList(ReportDatasetReqVO.builder().datasourceId(ds.getId()).build()); + ds.setDatasets(datasetList); + }); + template.setDatasource(datasourceList); + } + return template; } @Override @@ -85,6 +163,8 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { return templateMapper.selectList(new LambdaQueryWrapperX() .likeIfPresent(ReportTemplateDO::getName, reqVO.getName()) .eqIfPresent(ReportTemplateDO::getType, reqVO.getType()) - .orderByDesc(ReportTemplateDO::getCreateTime)); + .orderByDesc(ReportTemplateDO::getCreateTime) + // 不返回content xml,点击具体的模板中返回xml + .select(ReportTemplateDO::getId, ReportTemplateDO::getName, ReportTemplateDO::getCreateTime, ReportTemplateDO::getRemark)); } } diff --git a/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportCommonServiceImplTest.java b/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportCommonServiceImplTest.java index 09bfdeac0..9de16789d 100644 --- a/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportCommonServiceImplTest.java +++ b/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportCommonServiceImplTest.java @@ -2,6 +2,7 @@ package com.cf.imes.module.report.service.template; import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.framework.test.core.util.RandomUtils; +import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetFieldVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetParameterVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetSaveReqVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceSaveReqVO; @@ -27,7 +28,7 @@ public abstract class ReportCommonServiceImplTest { return ReportTemplateSaveReqVO.builder() .id(id) .name("单元测试模板") - .template(JsonUtil.zipString(TEMPLATE)) + .content(JsonUtil.zipString(TEMPLATE)) .type(ReportTemplateTypeEnum.SYSTEM.getType()) .remark(RandomUtils.randomString()) .build(); @@ -38,29 +39,35 @@ public abstract class ReportCommonServiceImplTest { return ReportDatasourceSaveReqVO.builder() .id(id) .name("单元测试数据源") - .reportId(reportId) - .type(ReportTemplateTypeEnum.SYSTEM.getType()) - .dbDriver("com.mysql.cj.jdbc.Driver") - .dbUrl("jdbc:mysql://192.168.1.205:3307/imes_base?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true") - .dbUsername("root") - .dbPassword("root") + .templateId(reportId) + .type("jdbc") + .driver("com.mysql.cj.jdbc.Driver") + .url("jdbc:mysql://192.168.1.205:3307/imes_base?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true") + .username("root") + .password("root") .remark(RandomUtils.randomString()) .build(); } protected ReportDatasetSaveReqVO prepareDatasetReqVO(Long id, Long datasourceId) { - ReportDatasetParameterVO idvo = new ReportDatasetParameterVO("id", 1, "1"); - ReportDatasetParameterVO appidvo = new ReportDatasetParameterVO("app_id", 2, "CF7526AD51"); + ReportDatasetParameterVO idvo = new ReportDatasetParameterVO("id", "Integer", "1"); + ReportDatasetParameterVO appidvo = new ReportDatasetParameterVO("app_id", "String", "CF7526AD51"); List params = new ArrayList<>() {{ add(idvo); add(appidvo); }}; + + ReportDatasetFieldVO idfield = new ReportDatasetFieldVO("id"); + List fields = new ArrayList<>() {{ + add(idfield); + }}; return ReportDatasetSaveReqVO.builder() .id(id) .name("单元测试数据集") - .dbSql("select * from application where id = \"${param(\"id\")}\" and app_id = \"${param(\"app_id\")}\"") + .sql("select * from application where id = \"${param(\"id\")}\" and app_id = \"${param(\"app_id\")}\"") .datasourceId(datasourceId) - .params(params) + .parameters(params) + .fields(fields) .build(); } } diff --git a/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImplTest.java b/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImplTest.java index 166bd3b48..2be30e4d6 100644 --- a/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImplTest.java +++ b/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImplTest.java @@ -66,7 +66,7 @@ public class ReportDatasourceServiceImplTest extends ReportCommonServiceImplTest // 列表查询参数准备 ReportDatasourceReqVO reqVO = new ReportDatasourceReqVO(); - reqVO.setReportId(templateId); + reqVO.setTemplateId(templateId); reqVO.setType(ReportTemplateTypeEnum.SYSTEM.getType()); reqVO.setName(updateReqVO.getName()); List templateDatasourceList = reportDatasourceService.getTemplateDatasourceList(reqVO); diff --git a/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImplTest.java b/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImplTest.java index 5b10b94c6..1608507d1 100644 --- a/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImplTest.java +++ b/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImplTest.java @@ -33,7 +33,7 @@ public class ReportTemplateServiceImplTest extends ReportCommonServiceImplTest { setOrganId(); // 准备参数 ReportTemplateSaveReqVO createReqVO = prepareTemplateReqVO(null); - System.out.println("template压缩后大小:" + createReqVO.getTemplate().length()); + System.out.println("template压缩后大小:" + createReqVO.getContent().length()); // 插入 Long templateId = reportTemplateService.createReportTemplate(createReqVO); // 断言 @@ -41,7 +41,7 @@ public class ReportTemplateServiceImplTest extends ReportCommonServiceImplTest { // 校验是否插入 ReportTemplateDO template = reportTemplateService.getReportTemplate(templateId); assertNotNull(template); - String templateUnZip = template.getTemplate(); + String templateUnZip = template.getContent(); System.out.println("从库中读取template大小:" + templateUnZip.length()); // 校验解压内容是否正确 assertEquals(JsonUtil.unzipString(templateUnZip),TEMPLATE); @@ -54,7 +54,7 @@ public class ReportTemplateServiceImplTest extends ReportCommonServiceImplTest { setOrganId(); // 准备参数 ReportTemplateSaveReqVO createReqVO = prepareTemplateReqVO(null); - System.out.println("template压缩后大小:" + createReqVO.getTemplate().length()); + System.out.println("template压缩后大小:" + createReqVO.getContent().length()); // 插入 Long templateId = reportTemplateService.createReportTemplate(createReqVO); @@ -65,6 +65,7 @@ public class ReportTemplateServiceImplTest extends ReportCommonServiceImplTest { reportTemplateService.updateReportTemplate(updateReqVO); // 校验是否更新正确 ReportTemplateDO template = reportTemplateService.getReportTemplate(updateReqVO.getId()); // 获取最新的 + assertNotNull(template); isPojoEquals(template,updateReqVO); // 删除 reportTemplateService.deleteReportTemplate(templateId); From 5515d5d1581e9eed08828064a38e9dedd9309578 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Thu, 11 Jul 2024 16:55:46 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=EF=BC=9A=E7=9B=AE=E5=BD=95=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E7=BB=86=E5=88=86=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReportDatasetController.java | 12 ++++++------ .../vo/ReportDatasetFieldVO.java | 2 +- .../vo/ReportDatasetParameterVO.java | 2 +- .../vo/ReportDatasetReqVO.java | 2 +- .../vo/ReportDatasetRespVO.java | 2 +- .../vo/ReportDatasetSaveReqVO.java | 2 +- .../ReportDatasourceController.java | 12 ++++++------ .../vo/ReportDatasourceReqVO.java | 2 +- .../vo/ReportDatasourceRespVO.java | 3 ++- .../vo/ReportDatasourceSaveReqVO.java | 3 ++- .../admin/template/vo/ReportTemplateRespVO.java | 1 + .../admin/template/vo/ReportTemplateSaveReqVO.java | 2 +- .../{template => dataset}/ReportDatasetDO.java | 6 +++--- .../ReportDatasourceDO.java | 3 ++- .../dal/dataobject/template/ReportTemplateDO.java | 1 + .../{template => dataset}/ReportDatasetMapper.java | 4 ++-- .../ReportDatasourceMapper.java | 4 ++-- .../ReportDatasetService.java | 8 ++++---- .../ReportDatasetServiceImpl.java | 10 +++++----- .../ReportDatasourceService.java | 10 ++++++---- .../ReportDatasourceServiceImpl.java | 10 +++++----- .../template/ReportTemplateServiceImpl.java | 14 ++++++++------ .../template/ReportCommonServiceImplTest.java | 8 ++++---- .../template/ReportDatasetServiceImplTest.java | 9 +++++++-- .../template/ReportDatasourceServiceImplTest.java | 7 ++++--- 25 files changed, 77 insertions(+), 62 deletions(-) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/{template => dataset}/ReportDatasetController.java (86%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/{template => dataset}/vo/ReportDatasetFieldVO.java (89%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/{template => dataset}/vo/ReportDatasetParameterVO.java (92%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/{template => dataset}/vo/ReportDatasetReqVO.java (91%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/{template => dataset}/vo/ReportDatasetRespVO.java (94%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/{template => dataset}/vo/ReportDatasetSaveReqVO.java (94%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/{template => datasource}/ReportDatasourceController.java (87%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/{template => datasource}/vo/ReportDatasourceReqVO.java (91%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/{template => datasource}/vo/ReportDatasourceRespVO.java (90%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/{template => datasource}/vo/ReportDatasourceSaveReqVO.java (90%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/{template => dataset}/ReportDatasetDO.java (88%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/{template => datasource}/ReportDatasourceDO.java (91%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/{template => dataset}/ReportDatasetMapper.java (68%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/{template => datasource}/ReportDatasourceMapper.java (67%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/{template => dataset}/ReportDatasetService.java (81%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/{template => dataset}/ReportDatasetServiceImpl.java (88%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/{template => datasource}/ReportDatasourceService.java (76%) rename cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/{template => datasource}/ReportDatasourceServiceImpl.java (86%) diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportDatasetController.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/ReportDatasetController.java similarity index 86% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportDatasetController.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/ReportDatasetController.java index 95eee00bd..2a971c838 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportDatasetController.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/ReportDatasetController.java @@ -1,12 +1,12 @@ -package com.cf.imes.module.report.controller.admin.template; +package com.cf.imes.module.report.controller.admin.dataset; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetReqVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetRespVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetSaveReqVO; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasetDO; -import com.cf.imes.module.report.service.template.ReportDatasetService; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetReqVO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetRespVO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetSaveReqVO; +import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO; +import com.cf.imes.module.report.service.dataset.ReportDatasetService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetFieldVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetFieldVO.java similarity index 89% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetFieldVO.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetFieldVO.java index 9b9ce8542..e2eeef6bf 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetFieldVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetFieldVO.java @@ -1,4 +1,4 @@ -package com.cf.imes.module.report.controller.admin.template.vo; +package com.cf.imes.module.report.controller.admin.dataset.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetParameterVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetParameterVO.java similarity index 92% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetParameterVO.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetParameterVO.java index c2be9590a..b78774a24 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetParameterVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetParameterVO.java @@ -1,4 +1,4 @@ -package com.cf.imes.module.report.controller.admin.template.vo; +package com.cf.imes.module.report.controller.admin.dataset.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetReqVO.java similarity index 91% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetReqVO.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetReqVO.java index f3efa38cd..f91b103d9 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetReqVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetReqVO.java @@ -1,4 +1,4 @@ -package com.cf.imes.module.report.controller.admin.template.vo; +package com.cf.imes.module.report.controller.admin.dataset.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetRespVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetRespVO.java similarity index 94% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetRespVO.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetRespVO.java index da440041d..dc88d8a7a 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetRespVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetRespVO.java @@ -1,4 +1,4 @@ -package com.cf.imes.module.report.controller.admin.template.vo; +package com.cf.imes.module.report.controller.admin.dataset.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetSaveReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetSaveReqVO.java similarity index 94% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetSaveReqVO.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetSaveReqVO.java index 17a91107f..f9257b07f 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasetSaveReqVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetSaveReqVO.java @@ -1,4 +1,4 @@ -package com.cf.imes.module.report.controller.admin.template.vo; +package com.cf.imes.module.report.controller.admin.dataset.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportDatasourceController.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/ReportDatasourceController.java similarity index 87% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportDatasourceController.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/ReportDatasourceController.java index c085b5e53..63c9955f3 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportDatasourceController.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/ReportDatasourceController.java @@ -1,12 +1,12 @@ -package com.cf.imes.module.report.controller.admin.template; +package com.cf.imes.module.report.controller.admin.datasource; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceReqVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceRespVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceSaveReqVO; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasourceDO; -import com.cf.imes.module.report.service.template.ReportDatasourceService; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceReqVO; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceRespVO; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceSaveReqVO; +import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO; +import com.cf.imes.module.report.service.datasource.ReportDatasourceService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceReqVO.java similarity index 91% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceReqVO.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceReqVO.java index fef00a43a..9fc3c5ca8 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceReqVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceReqVO.java @@ -1,4 +1,4 @@ -package com.cf.imes.module.report.controller.admin.template.vo; +package com.cf.imes.module.report.controller.admin.datasource.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceRespVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceRespVO.java similarity index 90% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceRespVO.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceRespVO.java index 74d7a875f..2921db9af 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceRespVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceRespVO.java @@ -1,5 +1,6 @@ -package com.cf.imes.module.report.controller.admin.template.vo; +package com.cf.imes.module.report.controller.admin.datasource.vo; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetRespVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceSaveReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceSaveReqVO.java similarity index 90% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceSaveReqVO.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceSaveReqVO.java index d34aeccca..cce0b9d30 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportDatasourceSaveReqVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceSaveReqVO.java @@ -1,5 +1,6 @@ -package com.cf.imes.module.report.controller.admin.template.vo; +package com.cf.imes.module.report.controller.admin.datasource.vo; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetSaveReqVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java index 3dcf50627..7479e566b 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java @@ -1,5 +1,6 @@ package com.cf.imes.module.report.controller.admin.template.vo; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceRespVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateSaveReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateSaveReqVO.java index 9ecc67bb7..9f7bdbfce 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateSaveReqVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateSaveReqVO.java @@ -1,12 +1,12 @@ package com.cf.imes.module.report.controller.admin.template.vo; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceSaveReqVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.io.Serializable; import java.util.List; /** diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasetDO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/dataset/ReportDatasetDO.java similarity index 88% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasetDO.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/dataset/ReportDatasetDO.java index 38d9d5a50..d998f5446 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasetDO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/dataset/ReportDatasetDO.java @@ -1,4 +1,4 @@ -package com.cf.imes.module.report.dal.dataobject.template; +package com.cf.imes.module.report.dal.dataobject.dataset; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableField; @@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.type.CompressObjectListTypeHandler; import com.cf.imes.framework.mybatis.core.type.CompressStringTypeHandler; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetFieldVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetParameterVO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetFieldVO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetParameterVO; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasourceDO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/datasource/ReportDatasourceDO.java similarity index 91% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasourceDO.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/datasource/ReportDatasourceDO.java index 148c79153..37eecdb03 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportDatasourceDO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/datasource/ReportDatasourceDO.java @@ -1,10 +1,11 @@ -package com.cf.imes.module.report.dal.dataobject.template; +package com.cf.imes.module.report.dal.dataobject.datasource; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO; import lombok.*; import java.util.List; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportTemplateDO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportTemplateDO.java index 535159f0b..ad550a9a7 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportTemplateDO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/dataobject/template/ReportTemplateDO.java @@ -2,6 +2,7 @@ package com.cf.imes.module.report.dal.dataobject.template; import com.baomidou.mybatisplus.annotation.*; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO; import lombok.*; import java.util.List; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/template/ReportDatasetMapper.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/dataset/ReportDatasetMapper.java similarity index 68% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/template/ReportDatasetMapper.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/dataset/ReportDatasetMapper.java index 9e8e20c77..51a4cc91b 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/template/ReportDatasetMapper.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/dataset/ReportDatasetMapper.java @@ -1,7 +1,7 @@ -package com.cf.imes.module.report.dal.mysql.template; +package com.cf.imes.module.report.dal.mysql.dataset; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasetDO; +import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO; import org.apache.ibatis.annotations.Mapper; /** diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/template/ReportDatasourceMapper.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/datasource/ReportDatasourceMapper.java similarity index 67% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/template/ReportDatasourceMapper.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/datasource/ReportDatasourceMapper.java index 0cca2271a..d0bb8dbf4 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/template/ReportDatasourceMapper.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/datasource/ReportDatasourceMapper.java @@ -1,7 +1,7 @@ -package com.cf.imes.module.report.dal.mysql.template; +package com.cf.imes.module.report.dal.mysql.datasource; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasourceDO; +import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO; import org.apache.ibatis.annotations.Mapper; /** diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetService.java similarity index 81% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetService.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetService.java index 083ce154e..154dd68eb 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetService.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetService.java @@ -1,8 +1,8 @@ -package com.cf.imes.module.report.service.template; +package com.cf.imes.module.report.service.dataset; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetReqVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetSaveReqVO; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasetDO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetReqVO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetSaveReqVO; +import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO; import javax.validation.Valid; import java.util.List; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetServiceImpl.java similarity index 88% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetServiceImpl.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetServiceImpl.java index affcc376b..f4e37b2b0 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasetServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetServiceImpl.java @@ -1,12 +1,12 @@ -package com.cf.imes.module.report.service.template; +package com.cf.imes.module.report.service.dataset; import cn.hutool.core.collection.CollUtil; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetReqVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetSaveReqVO; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasetDO; -import com.cf.imes.module.report.dal.mysql.template.ReportDatasetMapper; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetReqVO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetSaveReqVO; +import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO; +import com.cf.imes.module.report.dal.mysql.dataset.ReportDatasetMapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceService.java similarity index 76% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceService.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceService.java index cfc0e5d04..153fd6b03 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceService.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceService.java @@ -1,8 +1,8 @@ -package com.cf.imes.module.report.service.template; +package com.cf.imes.module.report.service.datasource; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceReqVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceSaveReqVO; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasourceDO; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceReqVO; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceSaveReqVO; +import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO; import javax.validation.Valid; import java.util.List; @@ -51,4 +51,6 @@ public interface ReportDatasourceService { * @return 报表数据源分页 */ List getTemplateDatasourceList(ReportDatasourceReqVO reqVO); + + } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java similarity index 86% rename from cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImpl.java rename to cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java index 62bedc213..cd7544378 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java @@ -1,11 +1,11 @@ -package com.cf.imes.module.report.service.template; +package com.cf.imes.module.report.service.datasource; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceReqVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceSaveReqVO; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasourceDO; -import com.cf.imes.module.report.dal.mysql.template.ReportDatasourceMapper; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceReqVO; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceSaveReqVO; +import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO; +import com.cf.imes.module.report.dal.mysql.datasource.ReportDatasourceMapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java index 488830c85..bbe73c9fe 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java @@ -5,17 +5,19 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.URLUtil; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetReqVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetSaveReqVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceReqVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceSaveReqVO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetReqVO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetSaveReqVO; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceReqVO; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceSaveReqVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateReqVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateSaveReqVO; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasetDO; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasourceDO; +import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO; +import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO; import com.cf.imes.module.report.dal.dataobject.template.ReportTemplateDO; import com.cf.imes.module.report.dal.mysql.template.ReportTemplateMapper; import com.cf.imes.module.report.enums.ErrorCodeConstants; +import com.cf.imes.module.report.service.dataset.ReportDatasetService; +import com.cf.imes.module.report.service.datasource.ReportDatasourceService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportCommonServiceImplTest.java b/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportCommonServiceImplTest.java index 9de16789d..b38f44f96 100644 --- a/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportCommonServiceImplTest.java +++ b/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportCommonServiceImplTest.java @@ -2,10 +2,10 @@ package com.cf.imes.module.report.service.template; import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.framework.test.core.util.RandomUtils; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetFieldVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetParameterVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasetSaveReqVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceSaveReqVO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetFieldVO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetParameterVO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetSaveReqVO; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceSaveReqVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateSaveReqVO; import com.cf.imes.module.report.enums.template.ReportTemplateTypeEnum; diff --git a/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportDatasetServiceImplTest.java b/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportDatasetServiceImplTest.java index 87f8acef3..bdf1d5c86 100644 --- a/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportDatasetServiceImplTest.java +++ b/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportDatasetServiceImplTest.java @@ -1,10 +1,15 @@ package com.cf.imes.module.report.service.template; import com.cf.imes.framework.test.core.util.RandomUtils; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetReqVO; +import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetSaveReqVO; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceSaveReqVO; import com.cf.imes.module.report.controller.admin.template.vo.*; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasetDO; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasourceDO; +import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO; +import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO; import com.cf.imes.module.report.dal.dataobject.template.ReportTemplateDO; +import com.cf.imes.module.report.service.dataset.ReportDatasetService; +import com.cf.imes.module.report.service.datasource.ReportDatasourceService; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; diff --git a/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImplTest.java b/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImplTest.java index 2be30e4d6..89716203e 100644 --- a/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImplTest.java +++ b/cf-module-report/cf-module-report-biz/src/test/java/com/cf/imes/module/report/service/template/ReportDatasourceServiceImplTest.java @@ -1,12 +1,13 @@ package com.cf.imes.module.report.service.template; import com.cf.imes.framework.test.core.util.RandomUtils; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceReqVO; -import com.cf.imes.module.report.controller.admin.template.vo.ReportDatasourceSaveReqVO; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceReqVO; +import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceSaveReqVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateSaveReqVO; -import com.cf.imes.module.report.dal.dataobject.template.ReportDatasourceDO; +import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO; import com.cf.imes.module.report.dal.dataobject.template.ReportTemplateDO; import com.cf.imes.module.report.enums.template.ReportTemplateTypeEnum; +import com.cf.imes.module.report.service.datasource.ReportDatasourceService; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; From 02c4da859b8f10ee51f88799c20cbc74e43bb3d2 Mon Sep 17 00:00:00 2001 From: lym <1994302445@qq.com> Date: Thu, 11 Jul 2024 17:36:18 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E9=A6=96=E9=A1=B5-=E7=BB=9F=E8=AE=A11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/order/OrderController.java | 16 ++-- .../admin/order/vo/order/ApiOrderRespVO.java | 1 - .../order/vo/order/OrderGoodsPlateRespVO.java | 8 -- .../order/vo/order/OrderOverdueRespVO.java | 78 +++++++++++++++++++ .../admin/order/vo/order/OrderPageReqVO.java | 2 +- .../admin/order/vo/order/OrderRespVO.java | 2 +- .../admin/order/vo/order/OrderSaveReqVO.java | 2 +- .../executor/dal/mysql/order/OrderMapper.java | 7 ++ .../executor/service/order/OrderService.java | 5 ++ .../service/order/OrderServiceImpl.java | 78 ++++++++++++++----- .../resources/mapper/order/OrderMapper.xml | 66 +++++++++++++++- .../resources/mapper/plate/PlateMapper.xml | 2 +- 12 files changed, 225 insertions(+), 42 deletions(-) create mode 100644 cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderOverdueRespVO.java diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java index a886272fe..10feaab5f 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java @@ -7,6 +7,7 @@ import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRe import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBodyRespVO; import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRespVO; import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO; +import com.cf.imes.module.executor.enums.OrderTypeEnum; import com.cf.imes.module.executor.util.ExcelWriterUtil; import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiDataAchieve; import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiTypeRealize; @@ -286,7 +287,7 @@ public class OrderController { if (list.size() == 0) { orderDO.setStatus(0); } - orderDO = ((OrderDO) mapOrder.get("order")).setOrderType(0).setStatus(1); + orderDO = ((OrderDO) mapOrder.get("order")).setOrderType(OrderTypeEnum.MAIN_ORDER.getStatus()).setStatus(1); String err = ((String) mapOrder.get("error")); if (!orderService.customOrderNoIsExists(orderDO.getCustomOrderNo())) { @@ -383,10 +384,11 @@ public class OrderController { } // 生产单超期告警 -// @GetMapping("/getOrderOverdue") -// @Operation(summary = "生产单超期告警") -// @PreAuthorize("@ss.hasPermission('productManager:List')") -// public CommonResult> getOrderOverdue() { -// return success(orderService.getOrderOverdue()); -// } + @GetMapping("/getOrderWarn") + @Operation(summary = "生产单警告") + @Parameter(name = "startTerm", description = "时间段选择", required = false, example = "1,3,7") + @PreAuthorize("@ss.hasPermission('productManager:List')") + public CommonResult>> getOrderOverdue(@RequestParam(value = "startTerm", required = false) Integer startTerm) { + return success(orderService.getOrderWarn(startTerm)); + } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/ApiOrderRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/ApiOrderRespVO.java index 7aadb20b8..ad6909160 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/ApiOrderRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/ApiOrderRespVO.java @@ -1,6 +1,5 @@ package com.cf.imes.module.executor.controller.admin.order.vo.order; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderGoodsPlateRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderGoodsPlateRespVO.java index 50c7120f3..173deff3a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderGoodsPlateRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderGoodsPlateRespVO.java @@ -12,14 +12,6 @@ import java.math.BigDecimal; @NoArgsConstructor @ToString(callSuper = true) public class OrderGoodsPlateRespVO { - @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "4109") - private Long id; - - @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "12114") - private Long orderId; - - @Schema(description = "设计端商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "832") - private Long rawGoodsId; @Schema(description = "商品 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "243") private Long goodsId; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderOverdueRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderOverdueRespVO.java new file mode 100644 index 000000000..277f8c541 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderOverdueRespVO.java @@ -0,0 +1,78 @@ +package com.cf.imes.module.executor.controller.admin.order.vo.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 生产单逾期列表") +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@ToString(callSuper = true) +public class OrderOverdueRespVO { + + @Schema(description = "生产单号") + private Long id; + + @Schema(description = "父单号") + private Long parentNo; + + @Schema(description = "源生产单号") + private String apiOrderId; + + @Schema(description = "生产单日期", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime orderDate; + + @Schema(description = "交付日期", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime deliveryDate; + + @Schema(description = "生产单类型,1主单 2子单", example = "1") + private Integer orderType; + + @Schema(description = "生产单排序号") + private Integer orderSort; + + @Schema(description = "CAD数据类型,1CAD 2WebCAD 3Excel", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer dataType; + + @Schema(description = "订单状态,订单状态,0空订单1新单2生产中3生产完成", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; + + @Schema(description = "自定义单号") + private String customOrderNo; + + @Schema(description = "客户", requiredMode = Schema.RequiredMode.REQUIRED) + private String customer; + + @Schema(description = "客户地址", requiredMode = Schema.RequiredMode.REQUIRED) + private String address; + + @Schema(description = "客户电话", requiredMode = Schema.RequiredMode.REQUIRED) + private String phoneNumber; + + @Schema(description = "经销商", requiredMode = Schema.RequiredMode.REQUIRED) + private String dealer; + + @Schema(description = "经销商电话", requiredMode = Schema.RequiredMode.REQUIRED) + private String dealerPhoneNumber; + + @Schema(description = "业务员") + private String salesman; + + @Schema(description = "拆单员") + private String splitter; + + @Schema(description = "备注", example = "你猜") + private String remark; + + + @Schema(description = "距离到期时间") + private String becomeDue; + + @Schema(description = "逾期时间") + private String beOverdue; +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java index 4c869f3a4..0c12c79e2 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java @@ -37,7 +37,7 @@ public class OrderPageReqVO extends PageParam { private LocalDateTime[] deliveryDate; @Schema(description = "生产单类型,1主单 2子单", example = "1") - private Boolean orderType; + private Integer orderType; @Schema(description = "生产单排序号") private Integer orderSort; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderRespVO.java index 2ae140b96..e4209cf2a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderRespVO.java @@ -33,7 +33,7 @@ public class OrderRespVO { @Schema(description = "生产单类型,1主单 2子单", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @ExcelProperty("生产单类型,1主单 2子单") - private Boolean orderType; + private Integer orderType; @Schema(description = "生产单排序号", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("生产单排序号") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java index fc8f122f0..b06e0c105 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java @@ -30,7 +30,7 @@ public class OrderSaveReqVO { private LocalDateTime deliveryDate; @Schema(description = "生产单类型,1主单 2子单", example = "1") - private Boolean orderType; + private Integer orderType; @Schema(description = "生产单排序号") private Integer orderSort; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java index eaef30a72..5cf254f59 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java @@ -9,6 +9,7 @@ import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.query.QueryWrapperX; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderOverdueRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPageReqVO; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderStatusRespVO; import com.cf.imes.module.executor.controller.admin.plan.bo.OrderIds; @@ -138,4 +139,10 @@ public interface OrderMapper extends BaseMapperX { // 生产单状态统计 List selectOrderStatusCount(@Param("organId")Long organId, @Param("orderDate") LocalDateTime orderDate); + +// 生产单预警统计 + List selectOrderNear(@Param("today") LocalDateTime today, @Param("orderDate") LocalDateTime orderDate, @Param("organId") Long organId); + +// 生产单逾期统计 + List selectOrderOverdue(@Param("today") LocalDateTime today, @Param("organId") Long organId); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java index a322e0537..0c663138c 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java @@ -181,4 +181,9 @@ public interface OrderService { * 小板数据分析统计 */ List getOrderPlateAnalysisCount(); + + /** + * 生产单超期告警分析统计 + */ + Map> getOrderWarn(Integer startTerm); } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java index f8fcb7939..985052d13 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java @@ -64,6 +64,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.time.*; import java.time.format.DateTimeParseException; +import java.time.temporal.ChronoUnit; import java.time.temporal.TemporalAdjusters; import java.util.*; import java.util.regex.Matcher; @@ -286,7 +287,7 @@ public class OrderServiceImpl implements OrderService { List orderIds = JSON.parseArray(planDO.getOrderNos()).toJavaList(Long.class); - return orderBodyMapper.selectRoomAndBody(orderIds,getUserOrganId()); + return orderBodyMapper.selectRoomAndBody(orderIds, getUserOrganId()); } @@ -296,10 +297,10 @@ public class OrderServiceImpl implements OrderService { Integer deleted = getOrderDeleted(orderId); // 模块信息 List orderModuleRespVOList = orderBodyMapper.selectModuleByOrderId(orderId, - SecurityFrameworkUtils.getLoginUser().getOrganId(),deleted); // 模块信息 + SecurityFrameworkUtils.getLoginUser().getOrganId(), deleted); // 模块信息 // 配件 List orderItemDOS = orderItemMapper.selectPartsByOrderId(orderId, - SecurityFrameworkUtils.getLoginUser().getOrganId(),deleted); + SecurityFrameworkUtils.getLoginUser().getOrganId(), deleted); Map> map = new HashMap<>(); map.put("module", orderModuleRespVOList); @@ -425,7 +426,7 @@ public class OrderServiceImpl implements OrderService { orderModelDOs.forEach(orderModelDO -> orderModelDO.setOrderId(order.get(0).getId())); orderInputProcessor.batchSaveModel(orderModelDOs); } - if (partsRemark.size() > 0){ + if (partsRemark.size() > 0) { orderInputProcessor.batchSaveOrderPartsModel(partsRemark); } @@ -552,7 +553,7 @@ public class OrderServiceImpl implements OrderService { public List getApiOrderList(JSONObject orderList) { List apiOrderRespVOS = new ArrayList<>(); JSONArray jsonArray = orderList.getJSONArray("data"); - if (jsonArray != null && jsonArray.size() > 0){ + if (jsonArray != null && jsonArray.size() > 0) { for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); int index = jsonObject.getString("order_no").indexOf("@N"); @@ -560,8 +561,8 @@ public class OrderServiceImpl implements OrderService { ApiOrderRespVO apiOrderRespVO = JSON.parseObject(jsonObject.toJSONString(), ApiOrderRespVO.class).setOrder_no(order_no); // 判断是否已经导入 - if (validateOrderNoExists(apiOrderRespVO.getOrder_no(), OrganContextHolder.getOrganId())){ - if (!apiOrderRespVO.getOrder_state().equals(SUBMIT_STATE)){ + if (validateOrderNoExists(apiOrderRespVO.getOrder_no(), OrganContextHolder.getOrganId())) { + if (!apiOrderRespVO.getOrder_state().equals(SUBMIT_STATE)) { apiOrderRespVOS.add(apiOrderRespVO); } } @@ -574,19 +575,25 @@ public class OrderServiceImpl implements OrderService { @Override public List getOrderStatusCount(Integer startTerm) { // 根据开始条件选择 - LocalDateTime orderDate = null; - LocalTime endOfDay = LocalTime.of(00, 00, 00); - switch (startTerm) { - case 1: - orderDate = LocalDate.now().with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).atStartOfDay(); - break; - case 2: - orderDate = LocalDate.now().withDayOfMonth(1).atStartOfDay(); - break; - case 3: - orderDate = LocalDate.now().withMonth(1).withDayOfMonth(1).atStartOfDay(); - break; + LocalDateTime orderDate = null; + + if (startTerm != null){ + switch (startTerm) { + case 2: // 月 + orderDate = LocalDate.now().withDayOfMonth(1).atStartOfDay(); + break; + case 3: // 年 + orderDate = LocalDate.now().withMonth(1).withDayOfMonth(1).atStartOfDay(); + break; + default: // 周 + orderDate = LocalDate.now().with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).atStartOfDay(); + break; + + } + }else { + orderDate = LocalDate.now().with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).atStartOfDay(); } + List orderStatusRespVOS = orderMapper.selectOrderStatusCount(OrganContextHolder.getOrganId(), orderDate); orderStatusRespVOS.removeIf(obj -> obj.getOrderState() == OrderStatusEnum.EMPTY.getStatus()); return orderStatusRespVOS; @@ -599,6 +606,35 @@ public class OrderServiceImpl implements OrderService { return orderGoodsPlateRespVOS; } + @Override + public Map> getOrderWarn(Integer startTerm) { + Map> map = new HashMap<>(); + + LocalDateTime today = LocalDateTime.now(); +// 根据开始条件选择 + LocalDateTime orderDate = null; + + switch (startTerm) { + case 3: + orderDate = LocalDateTime.now().minus(3, ChronoUnit.DAYS); + break; + case 7: + orderDate = LocalDateTime.now().minus(7, ChronoUnit.DAYS); + break; + default: + orderDate = LocalDateTime.now().minus(1, ChronoUnit.DAYS); + break; + + } + // 查询预警单 + List orderNearVOS = orderMapper.selectOrderNear(today, orderDate, OrganContextHolder.getOrganId()); + map.put("orderNearVOS",orderNearVOS); + // 查询超时单 + List orderOverdueVOS = orderMapper.selectOrderOverdue(today, OrganContextHolder.getOrganId()); + map.put("orderOverdueVOS",orderOverdueVOS); + return map; + } + // 判断是否已经导入 private Boolean validateOrderNoExists(String orderNo, Long organId) { if (orderMapper.selectCount(new LambdaQueryWrapper() @@ -673,10 +709,10 @@ public class OrderServiceImpl implements OrderService { // validateCustomOrderNoExists(orderDO.getCustomOrderNo()); orderInputProcessor.batchInsert(rawGoodsDO, bodyDO, groupDO, partsDO, plateDO, null, itemDO, orderDO, goodsDO, plateGoodDOS); - if (orderModelDOS.size() > 0){ + if (orderModelDOS.size() > 0) { orderInputProcessor.batchSaveModel(orderModelDOS); } - if (orderPartsRemarks.size() > 0){ + if (orderPartsRemarks.size() > 0) { orderInputProcessor.batchSaveOrderPartsModel(orderPartsRemarks); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml index 1ee264a40..a14e05546 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml @@ -88,9 +88,73 @@ from orders o where o.organ_id = #{organId} and DATE(o.order_date) >= #{orderDate} - and o.deleted = false + and o.deleted = 0 group by o.status + + \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml index 79833293f..ec3df380d 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml @@ -505,7 +505,7 @@ LEFT JOIN orders o ON o.id = a.order_id WHERE o.organ_id = #{organId} - AND a.deleted = false + AND a.deleted = 0 AND DATE(o.order_date) >= #{orderDate} GROUP BY g.goods_id