diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/controller/BussDocumentLibraryEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/controller/BussDocumentLibraryEOController.java index 86db13d3e..3695226e2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/controller/BussDocumentLibraryEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/controller/BussDocumentLibraryEOController.java @@ -117,6 +117,20 @@ public class BussDocumentLibraryEOController extends JeroController ocrPageInfo(@RequestBody Map parameter) { + IPage infoPage = bussDocumentLibraryEOService.ocrPageInfo(parameter); + return Result.OK(infoPage); + } + /** * 列表查询 * diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/mapper/BussDocumentLibraryEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/mapper/BussDocumentLibraryEOMapper.java index 155104613..ef68fc2f9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/mapper/BussDocumentLibraryEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/mapper/BussDocumentLibraryEOMapper.java @@ -55,5 +55,17 @@ public interface BussDocumentLibraryEOMapper extends BaseMapper + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/IBussDocumentLibraryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/IBussDocumentLibraryEOService.java index 4c34ccf07..3ddd23907 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/IBussDocumentLibraryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/IBussDocumentLibraryEOService.java @@ -110,6 +110,13 @@ public interface IBussDocumentLibraryEOService extends IService parameter); + /** + * ocr识别调取已入库文件分页 + * @param parameter + * @return + */ + IPage ocrPageInfo(Map parameter); + /** * 添加收藏 * @param id diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index b9aba44a6..c8640d9ce 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -801,6 +801,93 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl parameter) { + //需要查询的字段 + List fieldList = onlCgformFieldService.getFieldList("1"); + fieldList = fieldList.stream().filter(e -> FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); + List fileFieldList = fieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList()); + + //查询字段 + StringBuilder fieldSb = new StringBuilder(); + StringBuilder join = new StringBuilder(); + int i = 1; + if (ObjectUtils.isNotEmpty(fileFieldList)) { + for (String fileField : fileFieldList) { + fieldSb.append("bdl." + fileField + ","); + if (i == 1) { + join.append(" on of.connect_id = bdl." + fileField); + i++; + continue; + } + join.append(" or of.connect_id = bdl." + fileField); + } + } + String fieldStr = fieldSb.substring(0, fieldSb.length() - 1); + + String field = " bdl.id,bdl.serial_number,bdl.title,bdl.state,of.file_name,of.connect_id," + fieldStr + + " from oss_file of join buss_document_library bdl" + join.toString(); + + //查询条件 + StringBuilder conditionSb = new StringBuilder("where 1 = 1"); + + //编码 + String serialNumber = (String) parameter.get("serialNumber"); + + //标题 + String title = (String) parameter.get("title"); + + if (StringUtils.isNotBlank(serialNumber)) { + conditionSb.append(" and " + "serial_number" + " like concat(concat('%','" + serialNumber + "'),'%')"); + } + if (StringUtils.isNotBlank(title)) { + conditionSb.append(" and " + "title" + " like concat(concat('%','" + title + "'),'%')"); + } + + conditionSb.append(" order by bdl.create_time desc"); + int pageNo = Integer.parseInt(parameter.get("pageNo").toString()); + int pageSize = Integer.parseInt(parameter.get("pageSize").toString()); + IPage page = new Page(pageNo, pageSize); + + IPage infoPage = bussDocumentLibraryEOMapper.ocrPageInfo(page, field, conditionSb.toString()); + List records = infoPage.getRecords(); + + //数据字典 + List sysDictItems = sysDictItemServiceImpl.selectItemsAll(); + //下拉选处理数据字典 + + for (Object record : records) { + Map record1 = (Map) record; + String key = ""; + for (Map.Entry entry : record1.entrySet()) { + //状态数据字典 + if ("state".equals(entry.getKey())) { + List stateList = sysDictItems.stream() + .filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals("state")) + .collect(Collectors.toList()); + List state = stateList.stream().filter(e -> e.getItemValue().equals(entry.getValue())).collect(Collectors.toList()); + if (state.size() != 0) { + entry.setValue(state.get(0).getItemText()); + } + } + //添加文本信息 + String connectId = (String) record1.get("connect_id"); + if (connectId.equals(entry.getValue())) { + key = entry.getKey(); + } + } + String finalKey = key; + List onlCgformFieldList = fieldList.stream().filter(e -> e.getDbFieldName().equals(finalKey)).collect(Collectors.toList()); + record1.put("text_info", onlCgformFieldList.get(0).getDbFieldTxt()); + } + return infoPage; + } + public IPage getInfoPage(Map parameter) { //需要查询的字段 List fieldList = onlCgformFieldService.getFieldList("1"); @@ -921,6 +1008,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl records, List idList) { //收藏 + if (idList.size() == 0) { + return; + } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.in(OnlCgformCollection::getDocumentId, idList); List collectList = iOnlCgformCollectionService.list(wrapper); @@ -1092,7 +1182,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl !FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); } headerFieldList = fieldListTemp.stream().map(OnlCgformField::getDbFieldTxt).collect(Collectors.toList()); @@ -1118,15 +1208,15 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fileFieldList = onlCgformFieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList()); for (Map data : datas) { - if(StringUtils.isBlank((String) data.get("serial_number"))){ + if (StringUtils.isBlank((String) data.get("serial_number"))) { continue; } String fileNowPath = uploadpath + "/tempZip/" + (String) data.get("serial_number"); File file = new File(fileNowPath); - if (file.exists()){ + if (file.exists()) { file.delete(); } file.mkdirs(); List valueList = new ArrayList<>(); for (String field : fileFieldList) { String value = (String) data.get(field); - if(StringUtils.isNotBlank(value)){ + if (StringUtils.isNotBlank(value)) { valueList.add(value); } } //每一个编号下的所有的文件 - if(valueList.size()!= 0){ + if (valueList.size() != 0) { List fileInfosList = iOSSFileService.getFileInfosByConnectId(StringUtils.join(valueList, ",")); for (OSSFile ossFile : fileInfosList) { String url = ossFile.getUrl(); - copyFile(url, fileNowPath+ "/"+ossFile.getFileName()); + copyFile(url, fileNowPath + "/" + ossFile.getFileName()); } } } - ZipUtil.zip(path,path+".zip"); + ZipUtil.zip(path, path + ".zip"); //文件 - FileInputStream fis = new FileInputStream(path+".zip"); + FileInputStream fis = new FileInputStream(path + ".zip"); os = response.getOutputStream(); int len = 0; @@ -1202,14 +1292,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl data : datas) { for (OnlCgformField onlCgformField : fileFieldList) { String value = (String) data.get(onlCgformField.getDbFieldName()); - if(StringUtils.isNotBlank(value)){ + if (StringUtils.isNotBlank(value)) { connectIdList.add(value); } } } //所有的文件信息 List fileInfos = new ArrayList<>(); - if(connectIdList.size() != 0){ + if (connectIdList.size() != 0) { fileInfos = iOSSFileService.getFileInfosByConnectId(StringUtils.join(connectIdList, ",")); } @@ -1233,20 +1323,20 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl ossFileList = fileInfos.stream() .filter(e -> e.getConnectId().equals(data.get(onlCgformField.getDbFieldName()))) .collect(Collectors.toList()); - if(ossFileList.size()!= 0){ + if (ossFileList.size() != 0) { List fileNameList = ossFileList.stream().map(OSSFile::getFileName).collect(Collectors.toList()); - value = StringUtils.join(fileNameList,","); - }else{ + value = StringUtils.join(fileNameList, ","); + } else { value = ""; } } - }else { + } else { value = (String) data.get(onlCgformField.getDbFieldName()); } row.createCell(sheetNum).setCellValue(value); @@ -1300,6 +1390,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl map, HttpServletResponse response, HttpServletRequest request) { - exportExcel(map,response,request); + exportExcel(map, response, request); } @@ -1476,15 +1567,15 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl