OCR记录表增删改查功能

This commit is contained in:
liyawei
2022-02-16 18:40:42 +08:00
parent b393cbabac
commit d59eb2e329
8 changed files with 581 additions and 0 deletions
@@ -0,0 +1,184 @@
package com.jero.modules.ocr.controller;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.modules.ocr.entity.OcrRecordEO;
import com.jero.modules.ocr.service.IOcrRecordEOService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
/**
* @Description: OCR识别转换记录表
* @Author: jero-boot
* @Date: 2022-02-16
* @Version: V1.0
*/
@Api(tags="OCR识别转换记录表")
@RestController
@RequestMapping("/ocr/ocrRecord")
@Slf4j
public class OcrRecordEOController extends JeroController<OcrRecordEO, IOcrRecordEOService> {
@Autowired
private IOcrRecordEOService ocrRecordService;
@Value("${OCR.ocrDownPath}")
private String ocrDownPath;
/**
* 分页列表查询
*
* @param ocrRecordEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "OCR识别转换记录表-分页列表查询")
@ApiOperation(value="OCR识别转换记录表-分页列表查询", notes="OCR识别转换记录表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(OcrRecordEO ocrRecordEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
LambdaQueryWrapper<OcrRecordEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(ocrRecordEO.getStandName()), OcrRecordEO::getStandName, ocrRecordEO.getStandName())
.like(StringUtils.isNotEmpty(ocrRecordEO.getStandNumber()), OcrRecordEO::getStandNumber, ocrRecordEO.getStandNumber())
.eq(StringUtils.isNotEmpty(ocrRecordEO.getResultContent()), OcrRecordEO::getResultContent, ocrRecordEO.getResultContent())
.orderByDesc(OcrRecordEO::getCreateTime);
Page<OcrRecordEO> page = new Page<OcrRecordEO>(pageNo, pageSize);
IPage<OcrRecordEO> pageList = ocrRecordService.page(page, queryWrapper);
List<OcrRecordEO> rows = pageList.getRecords();
for (OcrRecordEO row : rows){
row.setDocRealFile(ocrDownPath+row.getDocRealName());
row.setJsonRealFile(ocrDownPath+row.getJsonRealName());
}
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "OCR识别转换记录表-列表查询")
@ApiOperation(value="OCR识别转换记录表-列表查询", notes="OCR识别转换记录表-列表查询")
@GetMapping(value = "/list")
public Result<List<OcrRecordEO>> queryList() {
List<OcrRecordEO> list = ocrRecordService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param ocrRecordEO
* @return
*/
@AutoLog(value = "OCR识别转换记录表-添加")
@ApiOperation(value="OCR识别转换记录表-添加", notes="OCR识别转换记录表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody OcrRecordEO ocrRecordEO) {
ocrRecordService.add(ocrRecordEO);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param ocrRecordEO
* @return
*/
@AutoLog(value = "OCR识别转换记录表-编辑")
@ApiOperation(value="OCR识别转换记录表-编辑", notes="OCR识别转换记录表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody OcrRecordEO ocrRecordEO) {
ocrRecordService.editById(ocrRecordEO);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "OCR识别转换记录表-通过id删除")
@ApiOperation(value="OCR识别转换记录表-通过id删除", notes="OCR识别转换记录表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
ocrRecordService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "OCR识别转换记录表-批量删除")
@ApiOperation(value="OCR识别转换记录表-批量删除", notes="OCR识别转换记录表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.ocrRecordService.deleteByIds(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) {
OcrRecordEO ocrRecordEO = ocrRecordService.queryById(id);
if(ocrRecordEO ==null) {
return Result.error("未找到对应数据");
}
return Result.OK(ocrRecordEO);
}
/**
* 导出excel
*
* @param request
* @param ocrRecordEO
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, OcrRecordEO ocrRecordEO) {
return super.exportXls(request, ocrRecordEO, OcrRecordEO.class, "OCR识别转换记录表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, OcrRecordEO.class);
}
}
@@ -0,0 +1,132 @@
package com.jero.modules.ocr.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
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 com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: OCR识别转换记录表
* @Author: jero-boot
* @Date: 2022-02-16
* @Version: V1.0
*/
@Data
@TableName("ocr_record")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ocr_record对象", description="OCR识别转换记录表")
public class OcrRecordEO 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 java.util.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 java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**标准名称*/
@Excel(name = "标准名称", width = 15)
@ApiModelProperty(value = "标准名称")
private String standName;
/**标准编号*/
@Excel(name = "标准编号", width = 15)
@ApiModelProperty(value = "标准编号")
private String standNumber;
/**文本状态*/
@Excel(name = "文本状态", width = 15, dicCode = "file_type")
@Dict(dicCode = "file_type")
@ApiModelProperty(value = "文本状态")
private String fileType;
/**文件名称*/
@Excel(name = "文件名称", width = 15)
@ApiModelProperty(value = "文件名称")
private String fileName;
/**转换结果*/
@Excel(name = "转换结果", width = 15)
@ApiModelProperty(value = "转换结果")
private String resultContent;
/**doc本地存放全路径*/
@Excel(name = "doc本地存放全路径", width = 15)
@ApiModelProperty(value = "doc本地存放全路径")
private String docName;
/**doc文件名称*/
@Excel(name = "doc文件名称", width = 15)
@ApiModelProperty(value = "doc文件名称")
private String docRealName;
/**doc文件编码*/
@Excel(name = "doc文件编码", width = 15)
@ApiModelProperty(value = "doc文件编码")
private String wordFileCode;
/**json文件本地存放全路径*/
@Excel(name = "json文件本地存放全路径", width = 15)
@ApiModelProperty(value = "json文件本地存放全路径")
private String jsonName;
/**json文件名称*/
@Excel(name = "json文件名称", width = 15)
@ApiModelProperty(value = "json文件名称")
private String jsonRealName;
/**json文件编码*/
@Excel(name = "json文件编码", width = 15)
@ApiModelProperty(value = "json文件编码")
private String jsonFileCode;
/**pdf文件id*/
@Excel(name = "pdf文件id", width = 15)
@ApiModelProperty(value = "pdf文件id")
private String attId;
/**同步状态*/
@Excel(name = "同步状态", width = 15)
@ApiModelProperty(value = "同步状态")
private String syncState;
private String docRealFile;
private String jsonRealFile;
}
@@ -0,0 +1,36 @@
package com.jero.modules.ocr.enums;
/**
* @Author: liyawei
* @Description:
* @Date: Created in 14:49 2022/2/16
*/
public enum FileSyncStateEnum {
SYNC_NO("未同步","未同步"),
SYNC_YES("已同步","已同步");
String name;
String value;
private FileSyncStateEnum(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
@@ -0,0 +1,36 @@
package com.jero.modules.ocr.enums;
/**
* @Author: liyawei
* @Description:
* @Date: Created in 14:49 2022/2/16
*/
public enum FileTypeEnum {
OCR_CONVERTING("转换中","转换中"),
OCR_CONVERT_SUCCESS("转换成功","转换成功"),
OCR_CONVERT_FAIL("转换失败","转换失败");
String name;
String value;
private FileTypeEnum(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
@@ -0,0 +1,14 @@
package com.jero.modules.ocr.mapper;
import com.jero.modules.ocr.entity.OcrRecordEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: OCR识别转换记录表
* @Author: jero-boot
* @Date: 2022-02-16
* @Version: V1.0
*/
public interface OcrRecordEOMapper extends BaseMapper<OcrRecordEO> {
}
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.ocr.mapper.OcrRecordEOMapper">
<resultMap id="OcrRecordResultMap" type="com.jero.modules.ocr.entity.OcrRecordEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="stand_name" property="standName" />
<result column="stand_number" property="standNumber" />
<result column="file_type" property="fileType" />
<result column="file_name" property="fileName" />
<result column="result_content" property="resultContent" />
<result column="doc_name" property="docName" />
<result column="doc_real_name" property="docRealName" />
<result column="word_file_code" property="wordFileCode" />
<result column="json_name" property="jsonName" />
<result column="json_real_name" property="jsonRealName" />
<result column="json_file_code" property="jsonFileCode" />
<result column="att_id" property="attId" />
<result column="sync_state" property="syncState" />
</resultMap>
</mapper>
@@ -0,0 +1,64 @@
package com.jero.modules.ocr.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.modules.ocr.entity.OcrRecordEO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: OCR识别转换记录表
* @Author: jero-boot
* @Date: 2022-02-16
* @Version: V1.0
*/
public interface IOcrRecordEOService extends IService<OcrRecordEO> {
/**
* 保存
*
* @param ocrRecordEO
* @return
*/
void add(OcrRecordEO ocrRecordEO);
/**
* 更新
*
* @param ocrRecordEO
* @return
*/
void editById(OcrRecordEO ocrRecordEO);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
OcrRecordEO queryById(String id);
/**
* 列表查询
*
* @return
*/
List<OcrRecordEO> queryList();
}
@@ -0,0 +1,90 @@
package com.jero.modules.ocr.service.impl;
import com.jero.modules.ocr.entity.OcrRecordEO;
import com.jero.modules.ocr.mapper.OcrRecordEOMapper;
import com.jero.modules.ocr.service.IOcrRecordEOService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: OCR识别转换记录表
* @Author: jero-boot
* @Date: 2022-02-16
* @Version: V1.0
*/
@Service
public class OcrRecordEOServiceImpl extends ServiceImpl<OcrRecordEOMapper, OcrRecordEO> implements IOcrRecordEOService {
/**
* 保存
*
* @param ocrRecordEO
* @return
*/
@Override
public void add(OcrRecordEO ocrRecordEO) {
Date now = new Date();
ocrRecordEO.setCreateTime(now);
ocrRecordEO.setUpdateTime(now);
save(ocrRecordEO);
}
/**
* 更新
*
* @param ocrRecordEO
* @return
*/
@Override
public void editById(OcrRecordEO ocrRecordEO) {
Date now = new Date();
ocrRecordEO.setUpdateTime(now);
saveOrUpdate(ocrRecordEO);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public OcrRecordEO queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<OcrRecordEO> queryList() {
return list();
}
}