From 1e01f90c92298c4abeae644a1e3cd40ac4e3cdb8 Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Thu, 13 Jul 2023 22:02:39 +0800 Subject: [PATCH] updates --- .../OcrApiCallStatisticsController.java | 162 +++++++++++++++ .../ocr/controller/OcrIdentifyController.java | 173 ++++++++++++++++ .../OcrMetadataConfigController.java | 183 +++++++++++++++++ .../controller/OcrRuleCheckController.java | 186 ++++++++++++++++++ .../ocr/controller/OcrTaskTypeController.java | 37 ++-- .../ocr/entity/OcrApiCallStatistics.java | 78 ++++++++ .../jeecg/modules/ocr/entity/OcrIdentify.java | 102 ++++++++++ .../modules/ocr/entity/OcrMetadataConfig.java | 66 +++++++ .../modules/ocr/entity/OcrRuleCheck.java | 70 +++++++ .../mapper/OcrApiCallStatisticsMapper.java | 14 ++ .../modules/ocr/mapper/OcrIdentifyMapper.java | 14 ++ .../ocr/mapper/OcrMetadataConfigMapper.java | 14 ++ .../ocr/mapper/OcrRuleCheckMapper.java | 14 ++ .../mapper/xml/OcrApiCallStatisticsMapper.xml | 5 + .../ocr/mapper/xml/OcrIdentifyMapper.xml | 5 + .../mapper/xml/OcrMetadataConfigMapper.xml | 5 + .../ocr/mapper/xml/OcrRuleCheckMapper.xml | 5 + .../service/IOcrApiCallStatisticsService.java | 14 ++ .../ocr/service/IOcrIdentifyService.java | 14 ++ .../service/IOcrMetadataConfigService.java | 14 ++ .../ocr/service/IOcrRuleCheckService.java | 14 ++ .../impl/OcrApiCallStatisticsServiceImpl.java | 18 ++ .../service/impl/OcrIdentifyServiceImpl.java | 18 ++ .../impl/OcrMetadataConfigServiceImpl.java | 18 ++ .../service/impl/OcrRuleCheckServiceImpl.java | 18 ++ .../ocr/utils/DownloadTemplateUtil.java | 45 +++++ .../jeecg-system-start/pom.xml | 1 + .../src/main/resources/application-dev.yml | 2 +- 28 files changed, 1282 insertions(+), 27 deletions(-) create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrApiCallStatisticsController.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrIdentifyController.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrMetadataConfigController.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrRuleCheckController.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrApiCallStatistics.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrIdentify.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrMetadataConfig.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrRuleCheck.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrApiCallStatisticsMapper.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrIdentifyMapper.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrMetadataConfigMapper.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrRuleCheckMapper.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrApiCallStatisticsMapper.xml create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrIdentifyMapper.xml create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrMetadataConfigMapper.xml create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrRuleCheckMapper.xml create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrApiCallStatisticsService.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyService.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrMetadataConfigService.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrRuleCheckService.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrApiCallStatisticsServiceImpl.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyServiceImpl.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrMetadataConfigServiceImpl.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrRuleCheckServiceImpl.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/utils/DownloadTemplateUtil.java diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrApiCallStatisticsController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrApiCallStatisticsController.java new file mode 100644 index 0000000..0634d60 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrApiCallStatisticsController.java @@ -0,0 +1,162 @@ +package org.jeecg.modules.ocr.controller; + +import java.util.Arrays; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.ocr.entity.OcrApiCallStatistics; +import org.jeecg.modules.ocr.entity.OcrMetadataConfig; +import org.jeecg.modules.ocr.service.IOcrApiCallStatisticsService; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.ocr.utils.DownloadTemplateUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: api调用统计 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +@Api(tags="api调用统计") +@RestController +@RequestMapping("/ocrApiCallStatistics") +@Slf4j +public class OcrApiCallStatisticsController extends JeecgController { + @Autowired + private IOcrApiCallStatisticsService ocrApiCallStatisticsService; + + /** + * 分页列表查询 + * + * @param ocrApiCallStatistics + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "api调用统计-分页列表查询") + @ApiOperation(value="api调用统计-分页列表查询", notes="api调用统计-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(OcrApiCallStatistics ocrApiCallStatistics, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(ocrApiCallStatistics, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = ocrApiCallStatisticsService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param ocrApiCallStatistics + * @return + */ + @AutoLog(value = "api调用统计-添加") + @ApiOperation(value="api调用统计-添加", notes="api调用统计-添加") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_api_call_statistics:add") + @PostMapping(value = "/add") + public Result add(@RequestBody OcrApiCallStatistics ocrApiCallStatistics) { + ocrApiCallStatisticsService.save(ocrApiCallStatistics); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param ocrApiCallStatistics + * @return + */ + @AutoLog(value = "api调用统计-编辑") + @ApiOperation(value="api调用统计-编辑", notes="api调用统计-编辑") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_api_call_statistics:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody OcrApiCallStatistics ocrApiCallStatistics) { + ocrApiCallStatisticsService.updateById(ocrApiCallStatistics); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "api调用统计-通过id删除") + @ApiOperation(value="api调用统计-通过id删除", notes="api调用统计-通过id删除") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_api_call_statistics:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + ocrApiCallStatisticsService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "api调用统计-批量删除") + @ApiOperation(value="api调用统计-批量删除", notes="api调用统计-批量删除") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_api_call_statistics:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.ocrApiCallStatisticsService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "api调用统计-通过id查询") + @ApiOperation(value="api调用统计-通过id查询", notes="api调用统计-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + OcrApiCallStatistics ocrApiCallStatistics = ocrApiCallStatisticsService.getById(id); + if(ocrApiCallStatistics==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(ocrApiCallStatistics); + } + + /** + * 导出excel + * + * @param request + * @param ocrApiCallStatistics + */ +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_api_call_statistics:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, OcrApiCallStatistics ocrApiCallStatistics) { + return super.exportXls(request, ocrApiCallStatistics, OcrApiCallStatistics.class, "api调用统计"); + } + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_api_call_statistics:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, OcrApiCallStatistics.class); + } + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrIdentifyController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrIdentifyController.java new file mode 100644 index 0000000..0e69e33 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrIdentifyController.java @@ -0,0 +1,173 @@ +package org.jeecg.modules.ocr.controller; + +import java.util.Arrays; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.ocr.entity.OcrIdentify; +import org.jeecg.modules.ocr.entity.OcrMetadataConfig; +import org.jeecg.modules.ocr.service.IOcrIdentifyService; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.ocr.utils.DownloadTemplateUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: ocr识别 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +@Api(tags="ocr识别") +@RestController +@RequestMapping("/ocrIdentify") +@Slf4j +public class OcrIdentifyController extends JeecgController { + @Autowired + private IOcrIdentifyService ocrIdentifyService; + @Autowired + private DownloadTemplateUtil downloadTemplateUtil; + + /** + * 分页列表查询 + * + * @param ocrIdentify + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "ocr识别-分页列表查询") + @ApiOperation(value="ocr识别-分页列表查询", notes="ocr识别-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(OcrIdentify ocrIdentify, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(ocrIdentify, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = ocrIdentifyService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param ocrIdentify + * @return + */ + @AutoLog(value = "ocr识别-添加") + @ApiOperation(value="ocr识别-添加", notes="ocr识别-添加") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_identify:add") + @PostMapping(value = "/add") + public Result add(@RequestBody OcrIdentify ocrIdentify) { + ocrIdentifyService.save(ocrIdentify); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param ocrIdentify + * @return + */ + @AutoLog(value = "ocr识别-编辑") + @ApiOperation(value="ocr识别-编辑", notes="ocr识别-编辑") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_identify:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody OcrIdentify ocrIdentify) { + ocrIdentifyService.updateById(ocrIdentify); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "ocr识别-通过id删除") + @ApiOperation(value="ocr识别-通过id删除", notes="ocr识别-通过id删除") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_identify:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + ocrIdentifyService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "ocr识别-批量删除") + @ApiOperation(value="ocr识别-批量删除", notes="ocr识别-批量删除") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_identify:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.ocrIdentifyService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "ocr识别-通过id查询") + @ApiOperation(value="ocr识别-通过id查询", notes="ocr识别-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + OcrIdentify ocrIdentify = ocrIdentifyService.getById(id); + if(ocrIdentify==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(ocrIdentify); + } + + /** + * 导出excel + * + * @param request + * @param ocrIdentify + */ +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_identify:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, OcrIdentify ocrIdentify) { + return super.exportXls(request, ocrIdentify, OcrIdentify.class, "ocr识别"); + } + + /** + * 下载模板 + */ + @RequestMapping(value = "/downloadTemplate") + public ModelAndView downloadTemplate() { + return downloadTemplateUtil.downloadTemplate(OcrIdentify.class,"ocr识别"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_identify:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, OcrIdentify.class); + } + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrMetadataConfigController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrMetadataConfigController.java new file mode 100644 index 0000000..44a01af --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrMetadataConfigController.java @@ -0,0 +1,183 @@ +package org.jeecg.modules.ocr.controller; + +import java.util.Arrays; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang.StringUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.modules.ocr.entity.OcrMetadataConfig; +import org.jeecg.modules.ocr.service.IOcrMetadataConfigService; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.ocr.utils.DownloadTemplateUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: 元数据配置 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +@Api(tags="元数据配置") +@RestController +@RequestMapping("/ocrMetadataConfig") +@Slf4j +public class OcrMetadataConfigController extends JeecgController { + @Autowired + private IOcrMetadataConfigService ocrMetadataConfigService; + @Autowired + private DownloadTemplateUtil downloadTemplateUtil; + + /** + * 分页列表查询 + * + * @param ocrMetadataConfig + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "元数据配置-分页列表查询") + @ApiOperation(value="元数据配置-分页列表查询", notes="元数据配置-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(OcrMetadataConfig ocrMetadataConfig, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + if (StringUtils.isNotBlank(ocrMetadataConfig.getConfigName())){ + ocrMetadataConfig.setConfigName("*"+ocrMetadataConfig.getConfigName()+"*"); + } + if (StringUtils.isNotBlank(ocrMetadataConfig.getResultName())){ + ocrMetadataConfig.setResultName("*"+ocrMetadataConfig.getResultName()+"*"); + } + if (StringUtils.isNotBlank(ocrMetadataConfig.getGetField())){ + ocrMetadataConfig.setGetField("*"+ocrMetadataConfig.getGetField()+"*"); + } + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(ocrMetadataConfig, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = ocrMetadataConfigService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param ocrMetadataConfig + * @return + */ + @AutoLog(value = "元数据配置-添加") + @ApiOperation(value="元数据配置-添加", notes="元数据配置-添加") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_metadata_config:add") + @PostMapping(value = "/add") + public Result add(@RequestBody OcrMetadataConfig ocrMetadataConfig) { + ocrMetadataConfigService.save(ocrMetadataConfig); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param ocrMetadataConfig + * @return + */ + @AutoLog(value = "元数据配置-编辑") + @ApiOperation(value="元数据配置-编辑", notes="元数据配置-编辑") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_metadata_config:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody OcrMetadataConfig ocrMetadataConfig) { + ocrMetadataConfigService.updateById(ocrMetadataConfig); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "元数据配置-通过id删除") + @ApiOperation(value="元数据配置-通过id删除", notes="元数据配置-通过id删除") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_metadata_config:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + ocrMetadataConfigService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "元数据配置-批量删除") + @ApiOperation(value="元数据配置-批量删除", notes="元数据配置-批量删除") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_metadata_config:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.ocrMetadataConfigService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "元数据配置-通过id查询") + @ApiOperation(value="元数据配置-通过id查询", notes="元数据配置-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + OcrMetadataConfig ocrMetadataConfig = ocrMetadataConfigService.getById(id); + if(ocrMetadataConfig==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(ocrMetadataConfig); + } + + /** + * 导出excel + * + * @param request + * @param ocrMetadataConfig + */ +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_metadata_config:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, OcrMetadataConfig ocrMetadataConfig) { + return super.exportXls(request, ocrMetadataConfig, OcrMetadataConfig.class, "元数据配置"); + } + + /** + * 下载模板 + */ + @RequestMapping(value = "/downloadTemplate") + public ModelAndView downloadTemplate() { + return downloadTemplateUtil.downloadTemplate(OcrMetadataConfig.class,"元数据配置"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_metadata_config:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, OcrMetadataConfig.class); + } + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrRuleCheckController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrRuleCheckController.java new file mode 100644 index 0000000..89290a7 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrRuleCheckController.java @@ -0,0 +1,186 @@ +package org.jeecg.modules.ocr.controller; + +import java.util.Arrays; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang.StringUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.config.JeecgBaseConfig; +import org.jeecg.modules.ocr.entity.OcrRuleCheck; +import org.jeecg.modules.ocr.entity.OcrTaskType; +import org.jeecg.modules.ocr.service.IOcrRuleCheckService; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.ocr.utils.DownloadTemplateUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: 规则检查配置 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +@Api(tags="规则检查配置") +@RestController +@RequestMapping("/ocrRuleCheck") +@Slf4j +public class OcrRuleCheckController extends JeecgController { + @Autowired + private IOcrRuleCheckService ocrRuleCheckService; + @Autowired + private DownloadTemplateUtil downloadTemplateUtil; + + /** + * 分页列表查询 + * + * @param ocrRuleCheck + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "规则检查配置-分页列表查询") + @ApiOperation(value="规则检查配置-分页列表查询", notes="规则检查配置-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(OcrRuleCheck ocrRuleCheck, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + if (StringUtils.isNotBlank(ocrRuleCheck.getConfigName())){ + ocrRuleCheck.setConfigName("*"+ocrRuleCheck.getConfigName()+"*"); + } + if (StringUtils.isNotBlank(ocrRuleCheck.getResultName())){ + ocrRuleCheck.setResultName("*"+ocrRuleCheck.getResultName()+"*"); + } + if (StringUtils.isNotBlank(ocrRuleCheck.getConfigRule())){ + ocrRuleCheck.setConfigRule("*"+ocrRuleCheck.getConfigRule()+"*"); + } + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(ocrRuleCheck, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = ocrRuleCheckService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param ocrRuleCheck + * @return + */ + @AutoLog(value = "规则检查配置-添加") + @ApiOperation(value="规则检查配置-添加", notes="规则检查配置-添加") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_rule_check:add") + @PostMapping(value = "/add") + public Result add(@RequestBody OcrRuleCheck ocrRuleCheck) { + ocrRuleCheckService.save(ocrRuleCheck); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param ocrRuleCheck + * @return + */ + @AutoLog(value = "规则检查配置-编辑") + @ApiOperation(value="规则检查配置-编辑", notes="规则检查配置-编辑") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_rule_check:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody OcrRuleCheck ocrRuleCheck) { + ocrRuleCheckService.updateById(ocrRuleCheck); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "规则检查配置-通过id删除") + @ApiOperation(value="规则检查配置-通过id删除", notes="规则检查配置-通过id删除") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_rule_check:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + ocrRuleCheckService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "规则检查配置-批量删除") + @ApiOperation(value="规则检查配置-批量删除", notes="规则检查配置-批量删除") +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_rule_check:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.ocrRuleCheckService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "规则检查配置-通过id查询") + @ApiOperation(value="规则检查配置-通过id查询", notes="规则检查配置-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + OcrRuleCheck ocrRuleCheck = ocrRuleCheckService.getById(id); + if(ocrRuleCheck==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(ocrRuleCheck); + } + + /** + * 导出excel + * + * @param request + * @param ocrRuleCheck + */ +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_rule_check:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, OcrRuleCheck ocrRuleCheck) { + return super.exportXls(request, ocrRuleCheck, OcrRuleCheck.class, "规则检查配置"); + } + + /** + * 下载模板 + */ + @RequestMapping(value = "/downloadTemplate") + public ModelAndView downloadTemplate() { + return downloadTemplateUtil.downloadTemplate(OcrRuleCheck.class,"规则检查配置"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ +// @RequiresPermissions("org.jeecg.modules.ocr:ocr_rule_check:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, OcrRuleCheck.class); + } + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrTaskTypeController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrTaskTypeController.java index c459052..8c1fd82 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrTaskTypeController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrTaskTypeController.java @@ -20,6 +20,7 @@ import org.jeecg.config.JeecgBaseConfig; import org.jeecg.modules.ocr.entity.OcrTaskType; import org.jeecg.modules.ocr.service.IOcrTaskTypeService; import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.ocr.utils.DownloadTemplateUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; @@ -38,13 +39,13 @@ import org.jeecg.common.aspect.annotation.AutoLog; */ @Api(tags="任务类型") @RestController -@RequestMapping("/ocr/ocrTaskType") +@RequestMapping("/ocrTaskType") @Slf4j public class OcrTaskTypeController extends JeecgController { @Autowired private IOcrTaskTypeService ocrTaskTypeService; - @Resource - private JeecgBaseConfig jeecgBaseConfig; + @Autowired + private DownloadTemplateUtil downloadTemplateUtil; /** * 分页列表查询 @@ -163,29 +164,13 @@ public class OcrTaskTypeController extends JeecgController exportList = new ArrayList<>(); - - // Step.3 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - //此处设置的filename无效 ,前端会重更新设置一下 - mv.addObject(NormalExcelConstants.FILE_NAME, "任务类型"); - mv.addObject(NormalExcelConstants.CLASS, OcrTaskType.class); - //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- - ExportParams exportParams=new ExportParams("任务类型" + "报表", "导出人:" + sysUser.getRealname(), "任务类型"); - exportParams.setImageBasePath(jeecgBaseConfig.getPath().getUpload()); - //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- - mv.addObject(NormalExcelConstants.PARAMS,exportParams); - mv.addObject(NormalExcelConstants.DATA_LIST, exportList); - return mv; - } + /** + * 下载模板 + */ + @RequestMapping(value = "/downloadTemplate") + public ModelAndView downloadTemplate() { + return downloadTemplateUtil.downloadTemplate(OcrTaskType.class,"任务类型"); + } /** * 通过excel导入数据 diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrApiCallStatistics.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrApiCallStatistics.java new file mode 100644 index 0000000..d95a1af --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrApiCallStatistics.java @@ -0,0 +1,78 @@ +package org.jeecg.modules.ocr.entity; + +import java.io.Serializable; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: api调用统计 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +@Data +@TableName("ocr_api_call_statistics") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="ocr_api_call_statistics对象", description="api调用统计") +public class OcrApiCallStatistics implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private Date updateTime; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private String sysOrgCode; + /**api名称*/ + @Excel(name = "api名称", width = 15) + @ApiModelProperty(value = "api名称") + private String apiName; + /**api地址*/ + @Excel(name = "api地址", width = 15) + @ApiModelProperty(value = "api地址") + private String apiUrl; + /**调用次数*/ + @Excel(name = "调用次数", width = 15) + @ApiModelProperty(value = "调用次数") + private Integer count; + /**开始时间*/ + @Excel(name = "开始时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "开始时间") + private Date startTime; + /**结束时间*/ + @Excel(name = "结束时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "结束时间") + private Date endTime; +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrIdentify.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrIdentify.java new file mode 100644 index 0000000..c282486 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrIdentify.java @@ -0,0 +1,102 @@ +package org.jeecg.modules.ocr.entity; + +import java.io.Serializable; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: ocr识别 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +@Data +@TableName("ocr_identify") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="ocr_identify对象", description="ocr识别") +public class OcrIdentify implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private Date updateTime; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private String sysOrgCode; + /**任务名称*/ + @Excel(name = "任务名称", width = 15) + @ApiModelProperty(value = "任务名称") + private String taskName; + /**任务状态*/ + @Excel(name = "任务状态", width = 15) + @ApiModelProperty(value = "任务状态") + private String status; + /**规则检查配置*/ + @Excel(name = "规则检查配置", width = 15, dictTable = "ocr_rule_check", dicText = "config_name", dicCode = "id") + @Dict(dictTable = "ocr_rule_check", dicText = "config_name", dicCode = "id") + @ApiModelProperty(value = "规则检查配置") + private String ruleCheck; + /**任务开始时间*/ + @Excel(name = "任务开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "任务开始时间") + private Date startTime; + /**任务结束时间*/ + @Excel(name = "任务结束时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "任务结束时间") + private Date endTime; + /**元数据配置*/ + @Excel(name = "元数据配置", width = 15, dictTable = "ocr_metadata_config", dicText = "config_name", dicCode = "id") + @Dict(dictTable = "ocr_metadata_config", dicText = "config_name", dicCode = "id") + @ApiModelProperty(value = "元数据配置") + private String metadataConfigId; + /**任务类型*/ + @Excel(name = "任务类型", width = 15, dictTable = "ocr_task_type", dicText = "type_name", dicCode = "id") + @Dict(dictTable = "ocr_task_type", dicText = "type_name", dicCode = "id") + @ApiModelProperty(value = "任务类型") + private String taskType; + /**识别路径*/ + @Excel(name = "识别路径", width = 15) + @ApiModelProperty(value = "识别路径") + private String identifyUrl; + /**任务来源*/ + @Excel(name = "任务来源", width = 15) + @ApiModelProperty(value = "任务来源") + private String taskSource; + /**单次识别个数*/ + @Excel(name = "单次识别个数", width = 15) + @ApiModelProperty(value = "单次识别个数") + private Integer identifyNumber; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrMetadataConfig.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrMetadataConfig.java new file mode 100644 index 0000000..bb00a32 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrMetadataConfig.java @@ -0,0 +1,66 @@ +package org.jeecg.modules.ocr.entity; + +import java.io.Serializable; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 元数据配置 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +@Data +@TableName("ocr_metadata_config") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="ocr_metadata_config对象", description="元数据配置") +public class OcrMetadataConfig implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private Date updateTime; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private String sysOrgCode; + /**配置名称*/ + @Excel(name = "配置名称", width = 15) + @ApiModelProperty(value = "配置名称") + private String configName; + /**结果名称*/ + @Excel(name = "结果名称", width = 15) + @ApiModelProperty(value = "结果名称") + private String resultName; + /**获取字段*/ + @Excel(name = "获取字段", width = 15) + @ApiModelProperty(value = "获取字段") + private String getField; +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrRuleCheck.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrRuleCheck.java new file mode 100644 index 0000000..caa4b98 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/entity/OcrRuleCheck.java @@ -0,0 +1,70 @@ +package org.jeecg.modules.ocr.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 规则检查配置 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +@Data +@TableName("ocr_rule_check") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="ocr_rule_check对象", description="规则检查配置") +public class OcrRuleCheck implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private Date updateTime; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private String sysOrgCode; + /**配置名称*/ + @Excel(name = "配置名称", width = 15) + @ApiModelProperty(value = "配置名称") + private String configName; + /**配置规则*/ + @Excel(name = "配置规则", width = 15) + @ApiModelProperty(value = "配置规则") + private String configRule; + /**结果名称*/ + @Excel(name = "结果名称", width = 15) + @ApiModelProperty(value = "结果名称") + private String resultName; +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrApiCallStatisticsMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrApiCallStatisticsMapper.java new file mode 100644 index 0000000..280b45b --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrApiCallStatisticsMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.ocr.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.ocr.entity.OcrApiCallStatistics; + +/** + * @Description: api调用统计 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +public interface OcrApiCallStatisticsMapper extends BaseMapper { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrIdentifyMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrIdentifyMapper.java new file mode 100644 index 0000000..a52e765 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrIdentifyMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.ocr.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.ocr.entity.OcrIdentify; + +/** + * @Description: ocr识别 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +public interface OcrIdentifyMapper extends BaseMapper { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrMetadataConfigMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrMetadataConfigMapper.java new file mode 100644 index 0000000..d15fd2b --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrMetadataConfigMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.ocr.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.ocr.entity.OcrMetadataConfig; + +/** + * @Description: 元数据配置 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +public interface OcrMetadataConfigMapper extends BaseMapper { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrRuleCheckMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrRuleCheckMapper.java new file mode 100644 index 0000000..5a446bd --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/OcrRuleCheckMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.ocr.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.ocr.entity.OcrRuleCheck; + +/** + * @Description: 规则检查配置 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +public interface OcrRuleCheckMapper extends BaseMapper { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrApiCallStatisticsMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrApiCallStatisticsMapper.xml new file mode 100644 index 0000000..456ff55 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrApiCallStatisticsMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrIdentifyMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrIdentifyMapper.xml new file mode 100644 index 0000000..0a0c5d9 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrIdentifyMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrMetadataConfigMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrMetadataConfigMapper.xml new file mode 100644 index 0000000..c928268 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrMetadataConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrRuleCheckMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrRuleCheckMapper.xml new file mode 100644 index 0000000..b5bc107 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/mapper/xml/OcrRuleCheckMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrApiCallStatisticsService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrApiCallStatisticsService.java new file mode 100644 index 0000000..f26f648 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrApiCallStatisticsService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.ocr.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.ocr.entity.OcrApiCallStatistics; + +/** + * @Description: api调用统计 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +public interface IOcrApiCallStatisticsService extends IService { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyService.java new file mode 100644 index 0000000..3d2032a --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.ocr.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.ocr.entity.OcrIdentify; + +/** + * @Description: ocr识别 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +public interface IOcrIdentifyService extends IService { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrMetadataConfigService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrMetadataConfigService.java new file mode 100644 index 0000000..d06400f --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrMetadataConfigService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.ocr.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.ocr.entity.OcrMetadataConfig; + +/** + * @Description: 元数据配置 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +public interface IOcrMetadataConfigService extends IService { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrRuleCheckService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrRuleCheckService.java new file mode 100644 index 0000000..800936f --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrRuleCheckService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.ocr.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.ocr.entity.OcrRuleCheck; + +/** + * @Description: 规则检查配置 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +public interface IOcrRuleCheckService extends IService { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrApiCallStatisticsServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrApiCallStatisticsServiceImpl.java new file mode 100644 index 0000000..c099ba2 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrApiCallStatisticsServiceImpl.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.ocr.service.impl; + +import org.jeecg.modules.ocr.entity.OcrApiCallStatistics; +import org.jeecg.modules.ocr.mapper.OcrApiCallStatisticsMapper; +import org.jeecg.modules.ocr.service.IOcrApiCallStatisticsService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: api调用统计 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +@Service +public class OcrApiCallStatisticsServiceImpl extends ServiceImpl implements IOcrApiCallStatisticsService { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyServiceImpl.java new file mode 100644 index 0000000..51c5a3e --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyServiceImpl.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.ocr.service.impl; + +import org.jeecg.modules.ocr.entity.OcrIdentify; +import org.jeecg.modules.ocr.mapper.OcrIdentifyMapper; +import org.jeecg.modules.ocr.service.IOcrIdentifyService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: ocr识别 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +@Service +public class OcrIdentifyServiceImpl extends ServiceImpl implements IOcrIdentifyService { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrMetadataConfigServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrMetadataConfigServiceImpl.java new file mode 100644 index 0000000..245957f --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrMetadataConfigServiceImpl.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.ocr.service.impl; + +import org.jeecg.modules.ocr.entity.OcrMetadataConfig; +import org.jeecg.modules.ocr.mapper.OcrMetadataConfigMapper; +import org.jeecg.modules.ocr.service.IOcrMetadataConfigService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 元数据配置 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +@Service +public class OcrMetadataConfigServiceImpl extends ServiceImpl implements IOcrMetadataConfigService { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrRuleCheckServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrRuleCheckServiceImpl.java new file mode 100644 index 0000000..81a8b21 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrRuleCheckServiceImpl.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.ocr.service.impl; + +import org.jeecg.modules.ocr.entity.OcrRuleCheck; +import org.jeecg.modules.ocr.mapper.OcrRuleCheckMapper; +import org.jeecg.modules.ocr.service.IOcrRuleCheckService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 规则检查配置 + * @Author: jeecg-boot + * @Date: 2023-07-14 + * @Version: V1.0 + */ +@Service +public class OcrRuleCheckServiceImpl extends ServiceImpl implements IOcrRuleCheckService { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/utils/DownloadTemplateUtil.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/utils/DownloadTemplateUtil.java new file mode 100644 index 0000000..a6998e1 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/utils/DownloadTemplateUtil.java @@ -0,0 +1,45 @@ +package org.jeecg.modules.ocr.utils; + +import org.apache.poi.ss.formula.functions.T; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.config.JeecgBaseConfig; +import org.jeecg.modules.ocr.entity.OcrTaskType; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.ModelAndView; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * @author han + */ +@Component +public class DownloadTemplateUtil { + @Resource + private JeecgBaseConfig jeecgBaseConfig; + + public ModelAndView downloadTemplate(Class clazz,String title){ + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + // Step.2 获取导出数据 + List exportList = new ArrayList<>(); + + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); + mv.addObject(NormalExcelConstants.CLASS, clazz); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams=new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); + exportParams.setImageBasePath(jeecgBaseConfig.getPath().getUpload()); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } +} diff --git a/jeecg-module-system/jeecg-system-start/pom.xml b/jeecg-module-system/jeecg-system-start/pom.xml index d4ce91f..c40dc45 100644 --- a/jeecg-module-system/jeecg-system-start/pom.xml +++ b/jeecg-module-system/jeecg-system-start/pom.xml @@ -27,6 +27,7 @@ + ocr-java org.springframework.boot diff --git a/jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml b/jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml index 4814b86..41dd5fb 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml +++ b/jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml @@ -1,5 +1,5 @@ server: - port: 8010 + port: 8020 tomcat: max-swallow-size: -1 error: