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 63dc77696..000eace96 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 @@ -239,7 +239,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl> getField(String flag, String cut, String type) { @@ -637,7 +639,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl finalFieldList = fieldList; dataList.get(0).entrySet().forEach(entry -> { if (fieldPullList.contains(entry.getKey())) { //下拉选处理数据字典 - dictItem(sysDictItems, entry, onlCgformFieldList, cut); + dictItem(sysDictItems, entry, cut, finalFieldList); } }); @@ -957,13 +960,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fieldFile = null; try { @@ -1045,7 +1048,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl list = readFileContent(oSSFileList); @@ -1067,65 +1070,63 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fileIdList = oSSFileAll.stream().map(OSSFile::getId).collect(Collectors.toList()); List fileInfos = iOSSFileService.getFileInfos(StringUtils.join(fileIdList, ",")); - List> mapListTemp = new ArrayList<>(); + List> mapListTemp = new ArrayList<>(); try { - if(fileInfos.size() != 0){ + if (fileInfos.size() != 0) { for (OSSFile ossFile : fileInfos) { - Map stringMap = new HashMap<>(); + Map stringMap = new HashMap<>(); String fileText = ""; - if(ossFile.getFileName().endsWith(".doc") + if (ossFile.getFileName().endsWith(".doc") || ossFile.getFileName().endsWith(".docx") || ossFile.getFileName().endsWith(".DOC") - || ossFile.getFileName().endsWith(".DOCX")){ + || ossFile.getFileName().endsWith(".DOCX")) { String wordContent = ReadWordUtil.readWord(ossFile.getUrl()); - if(StringUtils.isNotBlank(wordContent)){ + if (StringUtils.isNotBlank(wordContent)) { fileText = wordContent; } - }else if(ossFile.getFileName().endsWith(".pdf")||ossFile.getFileName().endsWith(".PDF")){ + } else if (ossFile.getFileName().endsWith(".pdf") || ossFile.getFileName().endsWith(".PDF")) { String pdfContent = ReadPdfUtil.readPdf(ossFile.getUrl()); - if(StringUtils.isNotBlank(pdfContent)){ + if (StringUtils.isNotBlank(pdfContent)) { fileText = pdfContent; } } for (OnlCgformField onlCgformField : searchFieldList) { String s = (String) map.get(onlCgformField.getDbFieldName()); - if(StringUtils.isBlank(s)){ + if (StringUtils.isBlank(s)) { s = ""; } - stringMap.put(onlCgformField.getDbFieldName(),s); + stringMap.put(onlCgformField.getDbFieldName(), s); } - stringMap.put("id",idTemp+ossFile.getId()); + stringMap.put("id", idTemp + ossFile.getId()); stringMap.put("module_type", "文档库"); stringMap.put("serial_number", map.get("serial_number")); stringMap.put("title", map.get("title")); stringMap.put("content", sb.toString()); - stringMap.put("file_text",fileText); - stringMap.put("file_name",ossFile.getFileName()); + stringMap.put("file_text", fileText); + stringMap.put("file_name", ossFile.getFileName()); mapListTemp.add(stringMap); } - }else{ - Map stringMap = new HashMap<>(); + } else { + Map stringMap = new HashMap<>(); for (OnlCgformField onlCgformField : searchFieldList) { String s = (String) map.get(onlCgformField.getDbFieldName()); - if(StringUtils.isBlank(s)){ + if (StringUtils.isBlank(s)) { s = ""; } - stringMap.put(onlCgformField.getDbFieldName(),s); + stringMap.put(onlCgformField.getDbFieldName(), s); } - stringMap.put("id",idTemp); + stringMap.put("id", idTemp); stringMap.put("module_type", "文档库"); stringMap.put("serial_number", map.get("serial_number")); stringMap.put("title", map.get("title")); stringMap.put("content", sb.toString()); - stringMap.put("file_text",""); - stringMap.put("file_name",""); + stringMap.put("file_text", ""); + stringMap.put("file_name", ""); mapListTemp.add(stringMap); } - - } catch (Exception e) { log.error("文档库新增es错误"); } @@ -1147,7 +1148,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl readFileContent(List oSSFileList){ + public List readFileContent(List oSSFileList) { //查询文件详细信息 List fileIdList = oSSFileList.stream().map(OSSFile::getId).collect(Collectors.toList()); oSSFileList = iOSSFileService.getFileInfos(StringUtils.join(fileIdList, ",")); List result = new ArrayList<>(); for (OSSFile ossFile : oSSFileList) { - if(ossFile.getFileName().endsWith(".doc") + if (ossFile.getFileName().endsWith(".doc") || ossFile.getFileName().endsWith(".docx") || ossFile.getFileName().endsWith(".DOC") - || ossFile.getFileName().endsWith(".DOCX")){ + || ossFile.getFileName().endsWith(".DOCX")) { String wordContent = ReadWordUtil.readWord(ossFile.getUrl()); - if(StringUtils.isNotBlank(wordContent)){ + if (StringUtils.isNotBlank(wordContent)) { result.add(wordContent); } - }else if(ossFile.getFileName().endsWith(".pdf")||ossFile.getFileName().endsWith(".PDF")){ + } else if (ossFile.getFileName().endsWith(".pdf") || ossFile.getFileName().endsWith(".PDF")) { String pdfContent = ReadPdfUtil.readPdf(ossFile.getUrl()); - if(StringUtils.isNotBlank(pdfContent)){ + if (StringUtils.isNotBlank(pdfContent)) { result.add(pdfContent); } } } return result; } + private void esFullText(String cut, List fieldList, List categoryList, List dictItemList, List> mapList, StringBuilder sb, Map.Entry entry) { try { + List onlCgformFieldList = fieldList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList()); for (OnlCgformField onlCgformField : fieldList) { //输入框 - if((FieldTypeEnum.TEXT_STRING.getValue().equals(onlCgformField.getFieldShowType()) + if ((FieldTypeEnum.TEXT_STRING.getValue().equals(onlCgformField.getFieldShowType()) || FieldTypeEnum.TEXT_NUMBER.getValue().equals(onlCgformField.getFieldShowType())) - && onlCgformField.getDbFieldName().equals(entry.getKey())){ - if(ObjectUtils.isEmpty(entry.getValue())){ - sb.append(onlCgformField.getDbFieldTxt()+":"+"-- "); - }else{ - sb.append(onlCgformField.getDbFieldTxt()+":"+entry.getValue()+" "); + && onlCgformField.getDbFieldName().equals(entry.getKey())) { + if (ObjectUtils.isEmpty(entry.getValue())) { + sb.append(onlCgformField.getDbFieldTxt() + ":" + "-- "); + } else { + sb.append(onlCgformField.getDbFieldTxt() + ":" + entry.getValue() + " "); } } //下拉框 - if((FieldTypeEnum.PULL_SINGLE.getValue().equals(onlCgformField.getFieldShowType()) + if ((FieldTypeEnum.PULL_SINGLE.getValue().equals(onlCgformField.getFieldShowType()) || FieldTypeEnum.PULL_MORE.getValue().equals(onlCgformField.getFieldShowType())) - && onlCgformField.getDbFieldName().equals(entry.getKey())){ - if(ObjectUtils.isEmpty(entry.getValue())){ - sb.append(onlCgformField.getDbFieldTxt()+":"+"-- "); - }else{ - List dictItems = dictItemList.stream() - .filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals(entry.getKey())) - .collect(Collectors.toList()); - StringBuilder sbText = new StringBuilder(); - //处理数据字典 - for (String item : entry.getValue().toString().split(",")) { - if(dictItems.size() != 0){ - List itemValue = dictItems.stream().filter(e -> item.equals(e.getItemValue())).collect(Collectors.toList()); - if(itemValue.size() != 0){ - sbText.append(itemValue.get(0).getItemText()+","); + && onlCgformField.getDbFieldName().equals(entry.getKey())) { + if (ObjectUtils.isEmpty(entry.getValue())) { + sb.append(onlCgformField.getDbFieldTxt() + ":" + "-- "); + } else { + if (onlCgformFieldList.size() != 0 && StringUtils.isNotBlank(onlCgformFieldList.get(0).getDictField())) { + List dictItems = dictItemList.stream() + .filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals(onlCgformFieldList.get(0).getDictField())) + .collect(Collectors.toList()); + StringBuilder sbText = new StringBuilder(); + //处理数据字典 + for (String item : entry.getValue().toString().split(",")) { + if (dictItems.size() != 0) { + List itemValue = dictItems.stream().filter(e -> item.equals(e.getItemValue())).collect(Collectors.toList()); + if (itemValue.size() != 0) { + sbText.append(itemValue.get(0).getItemText() + ","); + } } } - } - if(StringUtils.isNotBlank(sbText)){ - String substring = sbText.substring(0, sbText.length() - 1); - sb.append(onlCgformField.getDbFieldTxt()+":"+substring+" "); + if (StringUtils.isNotBlank(sbText)) { + String substring = sbText.substring(0, sbText.length() - 1); + sb.append(onlCgformField.getDbFieldTxt() + ":" + substring + " "); + } } } } //树形 - if(FieldTypeEnum.TREE.getValue().equals(onlCgformField.getFieldShowType()) - && onlCgformField.getDbFieldName().equals(entry.getKey())){ - if(ObjectUtils.isEmpty(entry.getValue())){ - sb.append(onlCgformField.getDbFieldTxt()+":"+"-- "); - }else{ + if (FieldTypeEnum.TREE.getValue().equals(onlCgformField.getFieldShowType()) + && onlCgformField.getDbFieldName().equals(entry.getKey())) { + if (ObjectUtils.isEmpty(entry.getValue())) { + sb.append(onlCgformField.getDbFieldTxt() + ":" + "-- "); + } else { StringBuilder sbTree = new StringBuilder(); List idList = Arrays.asList(entry.getValue().toString().split(",")); List sysCategoryList = categoryList.stream().filter(e -> idList.contains(e.getId())).collect(Collectors.toList()); @@ -1240,67 +1246,67 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl stringObjectMap : mapList) { String replaceStandard = (String) stringObjectMap.get("replace_standard"); - if(StringUtils.isNotBlank(replaceStandard) && replaceStandard.contains((String)entry.getValue())){ - standSb.append(stringObjectMap.get("serial_number")+","); + if (StringUtils.isNotBlank(replaceStandard) && replaceStandard.contains((String) entry.getValue())) { + standSb.append(stringObjectMap.get("serial_number") + ","); } } - }else{ + } else { //对应标准,代替标准 for (String valueTemp : entry.getValue().toString().split(",")) { - if(isId(valueTemp)){ + if (isId(valueTemp)) { //是id for (Map stringObjectMap : mapList) { - if(stringObjectMap.get("id").equals(valueTemp)){ - standSb.append(stringObjectMap.get("serial_number")+","); + if (stringObjectMap.get("id").equals(valueTemp)) { + standSb.append(stringObjectMap.get("serial_number") + ","); } } - }else{ + } else { //不是id - standSb.append(valueTemp+","); + standSb.append(valueTemp + ","); } } } - if(StringUtils.isNotBlank(standSb)){ + if (StringUtils.isNotBlank(standSb)) { String substring = standSb.substring(0, standSb.length() - 1); - sb.append(onlCgformField.getDbFieldTxt()+":"+substring+" "); + sb.append(onlCgformField.getDbFieldTxt() + ":" + substring + " "); } } } //文件 - if(FieldTypeEnum.FILE.getValue().equals(onlCgformField.getFieldShowType()) - && onlCgformField.getDbFieldName().equals(entry.getKey())){ - if(ObjectUtils.isEmpty(entry.getValue())){ - sb.append(onlCgformField.getDbFieldTxt()+":"+"-- "); - }else{ + if (FieldTypeEnum.FILE.getValue().equals(onlCgformField.getFieldShowType()) + && onlCgformField.getDbFieldName().equals(entry.getKey())) { + if (ObjectUtils.isEmpty(entry.getValue())) { + sb.append(onlCgformField.getDbFieldTxt() + ":" + "-- "); + } else { List fileInfos = iOSSFileService.getFileInfos((String) entry.getValue()); List fileNameList = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.toList()); - sb.append(onlCgformField.getDbFieldTxt()+":"+StringUtils.join(fileNameList,",")+" "); + sb.append(onlCgformField.getDbFieldTxt() + ":" + StringUtils.join(fileNameList, ",") + " "); } } } @@ -1343,13 +1349,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl mapNew = new LinkedHashMap<>(); + Map mapNew = new LinkedHashMap<>(); for (OnlCgformField onlCgformField : fieldList) { for (Map.Entry entry : map.entrySet()) { //固定字段 - if("create_by".equals(entry.getKey()) + if ("create_by".equals(entry.getKey()) || "create_time".equals(entry.getKey()) || "update_by".equals(entry.getKey()) || "update_time".equals(entry.getKey()) - || "sys_org_code".equals(entry.getKey())){ - mapNew.put(entry.getKey(),entry.getValue()); - }else if(onlCgformField.getDbFieldName().equals(entry.getKey())){ - mapNew.put(entry.getKey(),entry.getValue()); - break; + || "sys_org_code".equals(entry.getKey())) { + mapNew.put(entry.getKey(), entry.getValue()); + } else if (onlCgformField.getDbFieldName().equals(entry.getKey())) { + mapNew.put(entry.getKey(), entry.getValue()); + break; } } } @@ -1472,7 +1478,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fileIdList = oSSFileAll.stream().map(OSSFile::getId).collect(Collectors.toList()); List fileInfos = iOSSFileService.getFileInfos(StringUtils.join(fileIdList, ",")); - List> mapListTemp = new ArrayList<>(); + List> mapListTemp = new ArrayList<>(); try { - if(fileInfos.size() != 0){ + if (fileInfos.size() != 0) { for (OSSFile ossFile : fileInfos) { - Map stringMap = new HashMap<>(); + Map stringMap = new HashMap<>(); String fileText = ""; - if(ossFile.getFileName().endsWith(".doc") + if (ossFile.getFileName().endsWith(".doc") || ossFile.getFileName().endsWith(".docx") || ossFile.getFileName().endsWith(".DOC") - || ossFile.getFileName().endsWith(".DOCX")){ + || ossFile.getFileName().endsWith(".DOCX")) { String wordContent = ReadWordUtil.readWord(ossFile.getUrl()); - if(StringUtils.isNotBlank(wordContent)){ + if (StringUtils.isNotBlank(wordContent)) { fileText = wordContent; } - }else if(ossFile.getFileName().endsWith(".pdf")||ossFile.getFileName().endsWith(".PDF")){ + } else if (ossFile.getFileName().endsWith(".pdf") || ossFile.getFileName().endsWith(".PDF")) { String pdfContent = ReadPdfUtil.readPdf(ossFile.getUrl()); - if(StringUtils.isNotBlank(pdfContent)){ + if (StringUtils.isNotBlank(pdfContent)) { fileText = pdfContent; } } for (OnlCgformField onlCgformField : searchFieldList) { String s = (String) map.get(onlCgformField.getDbFieldName()); - if(StringUtils.isBlank(s)){ + if (StringUtils.isBlank(s)) { s = ""; } - stringMap.put(onlCgformField.getDbFieldName(),s); + stringMap.put(onlCgformField.getDbFieldName(), s); } - stringMap.put("id",(String) map.get("id")+ossFile.getId()); + stringMap.put("id", (String) map.get("id") + ossFile.getId()); stringMap.put("module_type", "文档库"); stringMap.put("serial_number", map.get("serial_number")); stringMap.put("title", map.get("title")); stringMap.put("content", sb.toString()); - stringMap.put("file_text",fileText); - stringMap.put("file_name",ossFile.getFileName()); + stringMap.put("file_text", fileText); + stringMap.put("file_name", ossFile.getFileName()); mapListTemp.add(stringMap); } - }else{ - Map stringMap = new HashMap<>(); + } else { + Map stringMap = new HashMap<>(); for (OnlCgformField onlCgformField : searchFieldList) { String s = (String) map.get(onlCgformField.getDbFieldName()); - if(StringUtils.isBlank(s)){ + if (StringUtils.isBlank(s)) { s = ""; } - stringMap.put(onlCgformField.getDbFieldName(),s); + stringMap.put(onlCgformField.getDbFieldName(), s); } - stringMap.put("id",(String) map.get("id")); + stringMap.put("id", (String) map.get("id")); stringMap.put("module_type", "文档库"); stringMap.put("serial_number", map.get("serial_number")); stringMap.put("title", map.get("title")); stringMap.put("content", sb.toString()); - stringMap.put("file_text",""); - stringMap.put("file_name",""); + stringMap.put("file_text", ""); + stringMap.put("file_name", ""); mapListTemp.add(stringMap); } @@ -1581,7 +1587,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl map, List> dataList, List fieldList, List fieldDateList, List fieldFileList, List fieldPullList, String cut) { //调整dataList中map中字段顺序与表单中的一致 - Map mapNew = new LinkedHashMap<>(); + Map mapNew = new LinkedHashMap<>(); for (OnlCgformField onlCgformField : fieldList) { for (Map.Entry entry : dataList.get(0).entrySet()) { - if(onlCgformField.getDbFieldName().equals(entry.getKey())){ - mapNew.put(entry.getKey(),entry.getValue()); + if (onlCgformField.getDbFieldName().equals(entry.getKey())) { + mapNew.put(entry.getKey(), entry.getValue()); break; } } @@ -1656,19 +1662,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl categoryList = sysCategoryService.list(); //下拉选处理数据字典 for (Map.Entry entry : dataList.get(0).entrySet()) { - List collect = fieldPullList.stream() - .filter(e -> entry.getKey().equals(e.getDictField())) - .collect(Collectors.toList()); //下拉选处理数据字典 - dictItem(sysDictItems, entry, collect, cut); + dictItem(sysDictItems, entry, cut, fieldList); treeDictItem(categoryList, entry, treeFieldList, cut); } for (Map.Entry entry : mapTemp.entrySet()) { - List collect = fieldPullList.stream() - .filter(e -> entry.getKey().equals(e.getDictField())) - .collect(Collectors.toList()); //下拉选处理数据字典 - dictItem(sysDictItems, entry, collect, cut); + dictItem(sysDictItems, entry, cut, fieldList); treeDictItem(categoryList, entry, treeFieldList, cut); } @@ -1755,7 +1755,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl documentIdList) { - List> mapList = bussDocumentLibraryEOMapper.selectMapsAll(StringUtils.join(documentIdList,",")); + List> mapList = bussDocumentLibraryEOMapper.selectMapsAll(StringUtils.join(documentIdList, ",")); List userNameListTemp = new ArrayList<>(); List serialNumberList = new ArrayList<>(); StringBuilder sb = new StringBuilder(); @@ -1944,23 +1944,6 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl entry : record1.entrySet()) { treeDictItem(categoryList, entry, treeFieldList, (String) parameter.get("cut")); if ("state".equals(entry.getKey())) { + List onlCgformFieldList = fieldList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList()); //状态数据字典 - 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()); + if (onlCgformFieldList.size() != 0 && StringUtils.isNotBlank(onlCgformFieldList.get(0).getDictField())) { + List stateList = sysDictItems.stream() + .filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals(onlCgformFieldList.get(0).getDictField())) + .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()); + } } } } @@ -2076,15 +2062,18 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl 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) { - if (CutEnum.CN.getValue().equals((String) parameter.get("cut"))) { - entry.setValue(state.get(0).getItemText()); - } else { - entry.setValue(state.get(0).getEnName()); + List onlCgformFieldList = fieldList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList()); + if (onlCgformFieldList.size() != 0 && StringUtils.isNotBlank(onlCgformFieldList.get(0).getDictField())) { + List stateList = sysDictItems.stream() + .filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals(onlCgformFieldList.get(0).getDictField())) + .collect(Collectors.toList()); + List state = stateList.stream().filter(e -> e.getItemValue().equals(entry.getValue())).collect(Collectors.toList()); + if (state.size() != 0) { + if (CutEnum.CN.getValue().equals((String) parameter.get("cut"))) { + entry.setValue(state.get(0).getItemText()); + } else { + entry.setValue(state.get(0).getEnName()); + } } } } @@ -2118,11 +2107,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl record1 = (Map) record; idList.add((String) record1.get("id")); for (Map.Entry entry : record1.entrySet()) { - List collect = fieldList.stream() - .filter(e -> entry.getKey().equals(e.getDictField()) && !FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType())) - .collect(Collectors.toList()); //下拉选处理数据字典 - dictItem(sysDictItems, entry, collect, cut); + dictItem(sysDictItems, entry, cut, fieldList); treeDictItem(categoryList, entry, treeFieldList, cut); } } @@ -2193,7 +2179,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl sysDictItems, Map.Entry entry, List collect, String cut) { - Map map = new HashMap<>(); + public void dictItem(List sysDictItems, Map.Entry entry, String cut, List fieldList) { //通过dictField判断字段是否为下拉选(不为空则为下拉选) - if (collect.size() != 0 && StringUtils.isNotBlank(collect.get(0).getDictField())) { - String value = (String) entry.getValue(); - //数据字典中文 - List dictItemsCh = new ArrayList<>(); - List dictItemsEn = new ArrayList<>(); - if (StringUtils.isNotBlank(value)) { - for (String itemValue : value.split(",")) { - //字段的数据字典 - List dictItemList = sysDictItems.stream() - .filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals(entry.getKey())) - .collect(Collectors.toList()); - if (dictItemList.size() != 0) { - List dictItems = dictItemList.stream() - .filter(e -> itemValue.equals(e.getItemValue())) + List onlCgformFieldList = fieldList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList()); + //数据字典中文 + List dictItemsCh = new ArrayList<>(); + List dictItemsEn = new ArrayList<>(); + for (OnlCgformField onlCgformField : onlCgformFieldList) { + if (FieldTypeEnum.PULL_SINGLE.getValue().equals(onlCgformField.getFieldShowType()) + || FieldTypeEnum.PULL_MORE.getValue().equals(onlCgformField.getFieldShowType())) { + String value = (String) entry.getValue(); + if (StringUtils.isNotBlank(value) && onlCgformFieldList.size() != 0 && StringUtils.isNotBlank(onlCgformFieldList.get(0).getDictField())) { + for (String itemValue : value.split(",")) { + //字段的数据字典 + List dictItemList = sysDictItems.stream() + .filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals(onlCgformFieldList.get(0).getDictField())) .collect(Collectors.toList()); - if (dictItems.size() != 0) { - List itemText = new ArrayList<>(); - if (CutEnum.CN.getValue().equals(cut)) { - itemText = dictItems.stream().map(SysDictItem::getItemText).collect(Collectors.toList()); - } else { - itemText = dictItems.stream().map(SysDictItem::getEnName).collect(Collectors.toList()); + if (dictItemList.size() != 0) { + List dictItems = dictItemList.stream() + .filter(e -> itemValue.equals(e.getItemValue())) + .collect(Collectors.toList()); + if (dictItems.size() != 0) { + List itemText = new ArrayList<>(); + if (CutEnum.CN.getValue().equals(cut)) { + itemText = dictItems.stream().map(SysDictItem::getItemText).collect(Collectors.toList()); + } else { + itemText = dictItems.stream().map(SysDictItem::getEnName).collect(Collectors.toList()); + } + dictItemsCh.addAll(itemText); + dictItemsEn.addAll(itemText); } - dictItemsCh.addAll(itemText); - dictItemsEn.addAll(itemText); } } } } + } + + if (onlCgformFieldList.size() != 0 && StringUtils.isNotBlank(onlCgformFieldList.get(0).getDictField())) { if (CutEnum.CN.getValue().equals(cut)) { entry.setValue(StringUtils.join(dictItemsCh, ",")); } else { @@ -2515,13 +2506,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fileInfosList = iOSSFileService.getFileInfosByConnectId(StringUtils.join(valueList, ",")); - if(fileInfosList.size() != 0){ + if (fileInfosList.size() != 0) { String fileNowPath = uploadpath + "/tempZip/" + serialNumber; File file = new File(fileNowPath); if (file.exists()) { @@ -2642,11 +2633,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl data : datas) { for (Map.Entry entry : data.entrySet()) { - List collect = fieldList.stream() - .filter(e -> entry.getKey().equals(e.getDictField()) && !FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType())) - .collect(Collectors.toList()); //下拉选处理数据字典 - dictItem(sysDictItems, entry, collect, cut); + dictItem(sysDictItems, entry, cut, fieldList); //处理树形数据字典 treeDictItem(categoryList, entry, treeFieldList, cut); } @@ -3038,7 +3026,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl allDepartIds = new HashSet<>(); //查询当前部门下所有部门 - if(StringUtils.isNotEmpty(departIds)){ + if (StringUtils.isNotEmpty(departIds)) { String[] departIdArr = departIds.split(","); for (String departId : departIdArr) { List subDepIdsByDepId = sysDepartService.getSubDepIdsByDepId(departId); @@ -3411,7 +3399,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getItemText()) && e.getItemText().equals(finalValue)).collect(Collectors.toList()); - if(collect.size() != 0){ + if (collect.size() != 0) { value = collect.get(0).getItemValue(); } } @@ -3508,7 +3496,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl> queryCondition(String flag, String cut, String searchFlag) { List> mapList = iBussDocumentLibraryEOService.queryCondition(flag, cut, searchFlag); //搜索条件手动添加正文 - if("1".equals(searchFlag)){ + if ("1".equals(searchFlag)) { int index = -2; for (Map objectMap : mapList) { - index ++; - if("中文标题".equals(objectMap.get("db_field_txt"))){ - objectMap.put("db_field_txt","标题"); + index++; + if ("中文标题".equals(objectMap.get("db_field_txt"))) { + objectMap.put("db_field_txt", "标题"); } - if("title_en".equals(objectMap.get("db_field_name"))){ - index ++; + if ("title_en".equals(objectMap.get("db_field_name"))) { + index++; } } //删除英文标题 mapList.remove(index); //添加正文 - Map map = new HashMap<>(); - map.put("db_field_txt","正文"); - map.put("field_show_type","1"); - map.put("db_field_name","file_text"); + Map map = new HashMap<>(); + map.put("db_field_txt", "正文"); + map.put("field_show_type", "1"); + map.put("db_field_name", "file_text"); mapList.add(map); } //type = 0时,查询下拉,树形,日期等字段 type = 1时,查询输入框字段 @@ -100,11 +99,10 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { } - @Override public IPage getInfoList(Map map) { boolean flagTemp = jeroElasticsearchTemplate.indexExists(SearchEnum.INDEX_NAME_DOCUMENT.getValue()); - if(!flagTemp){ + if (!flagTemp) { return new Page(Integer.parseInt(map.get("pageNo").toString()), Integer.parseInt(map.get("pageSize").toString())); } //文档库所有的字段 @@ -155,17 +153,17 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { Map mapTwo = (Map) map.get("mapTwo"); JSONArray must = new JSONArray(); //处理首次查询条件 - if(ObjectUtils.isNotEmpty(mapOne)){ + if (ObjectUtils.isNotEmpty(mapOne)) { queryCondition(mapOne, inputFieldList, otherFieldList, must); } //处理二次查询条件 - if(ObjectUtils.isNotEmpty(mapTwo)){ + if (ObjectUtils.isNotEmpty(mapTwo)) { queryCondition(mapTwo, inputFieldList, otherFieldList, must); } //处理ids JSONArray should = new JSONArray(); String ids = (String) mapTwo.get("ids"); - if(StringUtils.isNotBlank(ids)){ + if (StringUtils.isNotBlank(ids)) { for (String s : ids.split(",")) { Map queryMap = new HashMap<>(); Map queryMapTemp = new HashMap<>(); @@ -196,20 +194,20 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.in(OnlCgformCollection::getDocumentId, mapTemp.get("id")); List collectList = iOnlCgformCollectionService.list(lambdaQueryWrapper); - if(collectList.size() > 0){ - mapTemp.put("collectFlag","1"); - }else{ - mapTemp.put("collectFlag","0"); + if (collectList.size() > 0) { + mapTemp.put("collectFlag", "1"); + } else { + mapTemp.put("collectFlag", "0"); } //处理订阅 LambdaQueryWrapper lambdaQueryWrapperTemp = new LambdaQueryWrapper<>(); lambdaQueryWrapperTemp.in(OnlCgformSubscribe::getDocumentId, mapTemp.get("id")); List readList = iOnlCgformSubscribeService.list(lambdaQueryWrapperTemp); - if(readList.size() > 0){ - mapTemp.put("subscribeFlag","1"); - }else{ - mapTemp.put("subscribeFlag","0"); + if (readList.size() > 0) { + mapTemp.put("subscribeFlag", "1"); + } else { + mapTemp.put("subscribeFlag", "0"); } //格式化时间字段 @@ -222,7 +220,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { //下拉单选和下拉多选数据字典处理 if (fieldPullList.contains(entry.getKey())) { - bussDocumentLibraryEOService.dictItem(sysDictItems, entry, onlCgformFieldList, (String) map.get("cut")); + bussDocumentLibraryEOService.dictItem(sysDictItems, entry, (String) map.get("cut"), fieldList); } //处理文件 @@ -270,8 +268,8 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { if (ObjectUtils.isNotEmpty(inputMap)) { for (Map.Entry entry : inputMap.entrySet()) { String key = entry.getKey(); - String value = (String )entry.getValue(); - if(ObjectUtils.isNotEmpty(value)){ + String value = (String) entry.getValue(); + if (ObjectUtils.isNotEmpty(value)) { for (String s : value.split(",")) { Map queryMap = new HashMap<>(); Map queryMapTemp = new HashMap<>(); @@ -287,7 +285,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { for (Map.Entry entry : otherMap.entrySet()) { String key = entry.getKey(); String value = (String) entry.getValue(); - if(ObjectUtils.isNotEmpty(value)){ + if (ObjectUtils.isNotEmpty(value)) { for (String s : value.split(",")) { Map queryMap = new HashMap<>(); Map queryMapTemp = new HashMap<>(); @@ -459,7 +457,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { public IPage getFullTextInfoList(SearchVO searchVO) { //判断索引是否存在 boolean flagTemp = jeroElasticsearchTemplate.indexExists(SearchEnum.FULL_TEXT_SEARCH.getValue()); - if(!flagTemp){ + if (!flagTemp) { return new Page(searchVO.getPage(), searchVO.getPageSize()); } String selectValue = searchVO.getSelectValue(); @@ -475,7 +473,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { fieldList.add("file_name"); fieldList.add("id"); JSONArray queryMapJson = new JSONArray(); - if(StringUtils.isNotBlank(selectValue)){ + if (StringUtils.isNotBlank(selectValue)) { for (String field : fieldList) { Map queryMap = new HashMap<>(); Map map2 = new HashMap<>(); @@ -485,7 +483,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { } } //处理二次查询中选择了课表数据进行查询的情况 - if(StringUtils.isNotBlank(searchVO.getIds())){ + if (StringUtils.isNotBlank(searchVO.getIds())) { for (String s : searchVO.getIds().split(",")) { Map queryMap = new HashMap<>(); Map queryMapTemp = new HashMap<>(); @@ -496,7 +494,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { } Integer pageNo = searchVO.getPage(); Integer pageSize = searchVO.getPageSize(); - IPage page = getiPage(selectValue, selectValueTwo, queryMapJson,null, pageNo, pageSize,null); + IPage page = getiPage(selectValue, selectValueTwo, queryMapJson, null, pageNo, pageSize, null); return page; @@ -504,12 +502,12 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { } @NotNull - private IPage getiPage(String selectValue, String selectValueTwo, JSONArray queryMapJson,JSONArray should, Integer pageNo, Integer pageSize,String paragraphFlag) { + private IPage getiPage(String selectValue, String selectValueTwo, JSONArray queryMapJson, JSONArray should, Integer pageNo, Integer pageSize, String paragraphFlag) { JSONObject jsonObject = new JSONObject(); //基础添加封装 - if("paragraphFlag".equals(paragraphFlag)){ + if ("paragraphFlag".equals(paragraphFlag)) { jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, null, should); - }else{ + } else { jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapJson); } //全部 @@ -523,13 +521,13 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { // JSONObject queryObject11 = jeroElasticsearchTemplate.buildQuery(null, jsonObject11,highlightMap,null, Integer.parseInt(map.get("pageNo").toString()), Integer.parseInt(map.get("pageSize").toString())); //2. 数据查询 JSONObject search = jeroElasticsearchTemplate.search(SearchEnum.FULL_TEXT_SEARCH.getValue(), - SearchEnum.FULL_TEXT_SEARCH.getValue(), - queryObject); + SearchEnum.FULL_TEXT_SEARCH.getValue(), + queryObject); //全部的数据(调试接口用--最后删除即可) JSONObject searchAll = jeroElasticsearchTemplate.search(SearchEnum.FULL_TEXT_SEARCH.getValue(), - SearchEnum.FULL_TEXT_SEARCH.getValue(), - new JSONObject()); + SearchEnum.FULL_TEXT_SEARCH.getValue(), + new JSONObject()); List> list = (List>) (((Map) search.get("hits")).get("hits")); @@ -569,9 +567,9 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { sb.append(String.valueOf(chStr)); } entry.setValue(sb.toString()); - }else{ + } else { //第二次搜索的时候file_text中不包含搜索条件的时候将file_text赋值空(此时展示拼接的内容) - if("file_text".equals(entry.getKey())){ + if ("file_text".equals(entry.getKey())) { entry.setValue(""); value = ""; } @@ -579,7 +577,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { //如果内容中不包含第二次搜索条件,则继续高亮第一处 //判断value中是否包含首次搜索中的字符(因为其他的字段有可能包含二次的搜索条件查出来的这条数据,所以还得判断value中是否包含首次搜索中的字符) boolean flagOne = judgeContains(value, selectValue); - if(flagOne){ + if (flagOne) { //如果包含第一次的搜索条件,先前后截取100字符后再高亮 value = getFileText(value, selectValue); for (int i = 0; i < value.length(); i++) { @@ -600,28 +598,28 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { //首次查询(没有输入查询条件) mapList.add(mapSource); //处理高亮module_type,title,serial_number,file_text(输入查询条件后,处理高亮字段) - if(StringUtils.isNotBlank(selectValue)){ + if (StringUtils.isNotBlank(selectValue)) { for (Map.Entry entry : mapSource.entrySet()) { String key = entry.getKey(); String value = (String) entry.getValue(); StringBuilder sb = new StringBuilder(); if (StringUtils.isNotBlank(value)) { //file_text需要单独处理(截取第一处高亮的前后100个字符) - if("file_text".equals(key)){ + if ("file_text".equals(key)) { //判断value中是否包含搜索中的字符 boolean flag = judgeContains(value, selectValue); - if(flag){ + if (flag) { //截取第一处高亮的前后100个字符 value = getFileText(value, selectValue); - }else{ + } else { //第一次搜索的时候file_text中不包含搜索条件的时候将file_text赋值空(此时展示拼接的内容) entry.setValue(""); value = ""; } } - if("content".equals(key)){ + if ("content".equals(key)) { boolean flag = judgeContains(value, selectValue); - if(flag){ + if (flag) { //截取第一处高亮的前后100个字符 value = getFileText(value, selectValue); } @@ -634,7 +632,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { sb.append(String.valueOf(chStr)); } } - if(ObjectUtils.isNotEmpty(sb)){ + if (ObjectUtils.isNotEmpty(sb)) { entry.setValue(sb.toString()); } } @@ -658,24 +656,24 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { return page; } - private String getFileText(String fileTextInfo,String selectValue){ + private String getFileText(String fileTextInfo, String selectValue) { String beginStr = ""; String endStr = ""; for (int i = 0; i < fileTextInfo.length(); i++) { String chStr = String.valueOf(fileTextInfo.charAt(i)); - if(selectValue.contains(chStr)){ - if(i >=100){ + if (selectValue.contains(chStr)) { + if (i >= 100) { int begin = i - 100; beginStr = fileTextInfo.substring(begin, i); - int b=0; - }else{ + int b = 0; + } else { beginStr = fileTextInfo.substring(0, i); } int index = fileTextInfo.length() - i; - if(index<=100){ - endStr = fileTextInfo.substring(i,fileTextInfo.length()); - }else{ - endStr = fileTextInfo.substring(i,i+100); + if (index <= 100) { + endStr = fileTextInfo.substring(i, fileTextInfo.length()); + } else { + endStr = fileTextInfo.substring(i, i + 100); } break; } @@ -730,6 +728,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { /** * 查询段落 + * * @param map * @return */ @@ -738,7 +737,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { //module_type 代表文档库的段落 //判断索引是否存在 boolean flagTemp = jeroElasticsearchTemplate.indexExists(SearchEnum.FULL_TEXT_SEARCH.getValue()); - if(!flagTemp){ + if (!flagTemp) { return new Page(Integer.parseInt(map.get("pageNo").toString()), Integer.parseInt(map.get("pageSize").toString())); } //文档库所有的字段 @@ -765,17 +764,17 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { Map mapTwo = (Map) map.get("mapTwo"); JSONArray must = new JSONArray(); //处理首次查询条件 - if(ObjectUtils.isNotEmpty(mapOne)){ + if (ObjectUtils.isNotEmpty(mapOne)) { queryCondition(mapOne, inputFieldList, otherFieldList, must); } //处理二次查询条件 - if(ObjectUtils.isNotEmpty(mapTwo)){ + if (ObjectUtils.isNotEmpty(mapTwo)) { queryCondition(mapTwo, inputFieldList, otherFieldList, must); } //处理ids JSONArray should = new JSONArray(); String ids = (String) mapTwo.get("ids"); - if(StringUtils.isNotBlank(ids)){ + if (StringUtils.isNotBlank(ids)) { for (String s : ids.split(",")) { Map queryMap = new HashMap<>(); Map queryMapTemp = new HashMap<>(); @@ -792,15 +791,15 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { String selectValueTwo = ""; for (Map.Entry entry : mapOne.entrySet()) { String key = entry.getKey(); - String value = (String)entry.getValue(); - if(inputFieldList.contains(key) && StringUtils.isNotBlank(value)){ + String value = (String) entry.getValue(); + if (inputFieldList.contains(key) && StringUtils.isNotBlank(value)) { selectValue = value; } } for (Map.Entry entry : mapTwo.entrySet()) { String key = entry.getKey(); - String value = (String)entry.getValue(); - if(inputFieldList.contains(key) && StringUtils.isNotBlank(value)){ + String value = (String) entry.getValue(); + if (inputFieldList.contains(key) && StringUtils.isNotBlank(value)) { selectValueTwo = value; } } @@ -808,7 +807,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { String paragraphFlag = "paragraphFlag"; - IPage iPage = getiPage(selectValue, selectValueTwo, must,should, pageNo, pageSize,paragraphFlag); + IPage iPage = getiPage(selectValue, selectValueTwo, must, should, pageNo, pageSize, paragraphFlag); return iPage; }