diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java index cc1374374..a5b7e0c93 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java @@ -20,6 +20,9 @@ public interface SysDictItemMapper extends BaseMapper { @Select("SELECT * FROM sys_dict_item WHERE DICT_ID = #{mainId} order by sort_order asc, item_value asc") public List selectItemsByMainId(String mainId); + @Select("SELECT sys_dict_item.* FROM sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id WHERE DICT_CODE = #{dictCode} order by sort_order asc, item_value asc") + public List selectItemsByDictCode(String dictCode); + @Select("SELECT sys_dict.dict_code,sys_dict_item.* from sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id where status = 1") List selectItemsAll(); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictItemService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictItemService.java index 66453da93..21fd8cc2e 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictItemService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictItemService.java @@ -16,6 +16,8 @@ import java.util.List; public interface ISysDictItemService extends IService { public List selectItemsByMainId(String mainId); + public List selectItemsByDictCode(String dictCode); + /** * 查询所有数据字典信息 * @return diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java index bb4c81678..6b07d515c 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java @@ -28,6 +28,12 @@ public class SysDictItemServiceImpl extends ServiceImpl selectItemsByDictCode(String dictCode) { + return sysDictItemMapper.selectItemsByDictCode(dictCode); + } + + /** * 查询所有数据字典信息 * @return diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/controller/OcrRecordEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/controller/OcrRecordEOController.java index 1e26bd3ea..a9021cf89 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/controller/OcrRecordEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/controller/OcrRecordEOController.java @@ -9,7 +9,6 @@ import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; import com.jero.modules.document.service.IBussDocumentLibraryEOService; import com.jero.modules.ocr.entity.OcrRecordEO; -import com.jero.modules.ocr.enums.FileSourceEnum; import com.jero.modules.ocr.enums.FileSyncStateEnum; import com.jero.modules.ocr.page.OcrRecordEOPage; import com.jero.modules.ocr.service.IOcrRecordEOService; @@ -21,7 +20,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; 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; @@ -51,9 +49,6 @@ public class OcrRecordEOController extends JeroController page = new Page(ocrRecordEOPage.getPageNo(), ocrRecordEOPage.getPageSize()); IPage pageList = ocrRecordService.page(page, queryWrapper); List rows = pageList.getRecords(); - for (OcrRecordEO row : rows){ - if(StringUtils.isNotEmpty(row.getConnectId())) { - row.setFileSource(FileSourceEnum.IMPORT.getValue()); - }else{ - row.setFileSource(FileSourceEnum.UPLOAD.getValue()); - } - if(StringUtils.isNotEmpty(row.getDocRealName())) { - row.setDocRealFile(ocrDownPath + row.getDocRealName()); - } - if(StringUtils.isNotEmpty(row.getJsonRealName())) { - row.setJsonRealFile(ocrDownPath + row.getJsonRealName()); - } - } + ocrRecordService.dataProcessing(ocrRecordEOPage.getCut(), rows); return Result.OK(pageList); } @@ -217,6 +200,7 @@ public class OcrRecordEOController extends JeroController { */ List> getForm(String flag, String cut); + /** + * 处理列表数据字典值中英文切换 + * @param cut + * @param ocrRecordEOList + * @return + */ + void dataProcessing(String cut, List ocrRecordEOList); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/service/impl/OcrRecordEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/service/impl/OcrRecordEOServiceImpl.java index 15d289b7e..462cdad47 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/service/impl/OcrRecordEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/service/impl/OcrRecordEOServiceImpl.java @@ -1,22 +1,27 @@ package com.jero.modules.ocr.service.impl; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.enums.CutEnum; +import com.jero.common.constant.enums.ModuleEnum; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.generater.modules.online.cgform.entity.OnlCgformField; import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; import com.jero.modules.ocr.entity.OcrRecordEO; +import com.jero.modules.ocr.enums.FileSourceEnum; import com.jero.modules.ocr.mapper.OcrRecordEOMapper; import com.jero.modules.ocr.service.IOcrRecordEOService; import com.jero.modules.ocr.util.LineHumpUtil; +import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.service.ISysDictItemService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.*; import java.util.stream.Collectors; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - /** * @Description: OCR识别转换记录表 * @Author: jero-boot @@ -28,6 +33,13 @@ public class OcrRecordEOServiceImpl extends ServiceImpl ocrRecordEOList) { + // 查询文档拆分表中类型是下拉选的字段 + List fieldList = onlCgformFieldService.getFieldList(ModuleEnum.OCR_RECORD.getValue()); + if (fieldList.size() != 0) { + //过滤列表字段(is_show_list-->列表是否显示0否 1是 且 有数据字典编码) + fieldList = fieldList.stream() + .filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowList())) + && StringUtils.isNotBlank(e.getDictField())) + .collect(Collectors.toList()); + } + // 根据切换语言 查询下拉选字段的下拉值 + List dictItemListAll = new ArrayList<>(); + for (OnlCgformField onlCgformField : fieldList) { + // 查询数据字典值 + List dictItemList = sysDictItemService.selectItemsByDictCode(onlCgformField.getDictField()); + if(CollectionUtil.isNotEmpty(dictItemList)) { + dictItemListAll.addAll(dictItemList); + } + } + + // 处理数据中所有下拉字典值 + for (OcrRecordEO ocrRecordEO : ocrRecordEOList){ + if (CutEnum.CN.getValue().equals(cut)) { + Map cnMap = dictItemListAll.stream() + .filter(e->e.getItemValue().equals(ocrRecordEO.getFileType()) + || e.getItemValue().equals(ocrRecordEO.getResultContent()) + || e.getItemValue().equals(ocrRecordEO.getSyncState())) + .collect(Collectors.toMap(SysDictItem::getItemValue, SysDictItem::getItemText)); + ocrRecordEO.setFileType(cnMap.get(ocrRecordEO.getFileType())); + ocrRecordEO.setResultContent(cnMap.get(ocrRecordEO.getResultContent())); + ocrRecordEO.setSyncState(cnMap.get(ocrRecordEO.getSyncState())); + } else { + Map enMap = dictItemListAll.stream() + .filter(e->e.getItemValue().equals(ocrRecordEO.getFileType()) + || e.getItemValue().equals(ocrRecordEO.getResultContent()) + || e.getItemValue().equals(ocrRecordEO.getSyncState())) + .collect(Collectors.toMap(SysDictItem::getItemValue, SysDictItem::getEnName)); + ocrRecordEO.setFileType(enMap.get(ocrRecordEO.getFileType())); + ocrRecordEO.setResultContent(enMap.get(ocrRecordEO.getResultContent())); + ocrRecordEO.setSyncState(enMap.get(ocrRecordEO.getSyncState())); + } + if(StringUtils.isNotEmpty(ocrRecordEO.getConnectId())) { + ocrRecordEO.setFileSource(FileSourceEnum.IMPORT.getValue()); + }else{ + ocrRecordEO.setFileSource(FileSourceEnum.UPLOAD.getValue()); + } + if(StringUtils.isNotEmpty(ocrRecordEO.getDocRealName())) { + ocrRecordEO.setDocRealFile(ocrDownPath + ocrRecordEO.getDocRealName()); + } + if(StringUtils.isNotEmpty(ocrRecordEO.getJsonRealName())) { + ocrRecordEO.setJsonRealFile(ocrDownPath + ocrRecordEO.getJsonRealName()); + } + } + } }