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 4cf99fd41..8e8bdf3ea 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 @@ -1186,121 +1186,126 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fieldList, List categoryList, List dictItemList, List> mapList, StringBuilder sb, Map.Entry entry) { - for (OnlCgformField onlCgformField : fieldList) { - - //输入框 - 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()+" "); - } - } - //下拉框 - 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()+","); - } - } - } - 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{ - 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()); - List nameList = sysCategoryList.stream().map(SysCategory::getName).collect(Collectors.toList()); - List nameEnList = sysCategoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList()); - if (CutEnum.CN.getValue().equals(cut)) { - sbTree.append(StringUtils.join(nameList, ",")); - } else { - sbTree.append(StringUtils.join(nameEnList, ",")); - } - sb.append(onlCgformField.getDbFieldTxt()+":"+sbTree.toString()+" "); - } - } - - //日期 - if(FieldTypeEnum.DATE_SINGLE.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().toString().split(" ")[0]+" "); - } - } - //标准选择 - if(FieldTypeEnum.STANDARD.getValue().equals(onlCgformField.getFieldShowType()) - && onlCgformField.getDbFieldName().equals(entry.getKey())){ - if(ObjectUtils.isEmpty(entry.getValue())){ - sb.append(onlCgformField.getDbFieldTxt()+":"+"-- "); - }else{ - StringBuilder standSb = new StringBuilder(); - if("replaced_standard".equals(entry.getKey())){ - //被代替标准 - for (Map stringObjectMap : mapList) { - String replaceStandard = (String) stringObjectMap.get("replace_standard"); - if(StringUtils.isNotBlank(replaceStandard) && replaceStandard.contains((String)entry.getValue())){ - standSb.append(stringObjectMap.get("serial_number")+","); - } - } + try { + for (OnlCgformField onlCgformField : fieldList) { + //输入框 + 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{ - //对应标准,代替标准 - for (String valueTemp : entry.getValue().toString().split(",")) { - if(isId(valueTemp)){ - //是id - for (Map stringObjectMap : mapList) { - if(stringObjectMap.get("id").equals(valueTemp)){ - standSb.append(stringObjectMap.get("serial_number")+","); - } + sb.append(onlCgformField.getDbFieldTxt()+":"+entry.getValue()+" "); + } + } + //下拉框 + 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()+","); } - }else{ - //不是id - standSb.append(valueTemp+","); } } + 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{ + 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()); + List nameList = sysCategoryList.stream().map(SysCategory::getName).collect(Collectors.toList()); + List nameEnList = sysCategoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList()); + if (CutEnum.CN.getValue().equals(cut)) { + sbTree.append(StringUtils.join(nameList, ",")); + } else { + sbTree.append(StringUtils.join(nameEnList, ",")); + } + sb.append(onlCgformField.getDbFieldTxt()+":"+sbTree.toString()+" "); + } + } - if(StringUtils.isNotBlank(standSb)){ - String substring = standSb.substring(0, standSb.length() - 1); - sb.append(onlCgformField.getDbFieldTxt()+":"+substring+" "); + //日期 + if(FieldTypeEnum.DATE_SINGLE.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().toString().split(" ")[0]+" "); + } + } + //标准选择 + if(FieldTypeEnum.STANDARD.getValue().equals(onlCgformField.getFieldShowType()) + && onlCgformField.getDbFieldName().equals(entry.getKey())){ + if(ObjectUtils.isEmpty(entry.getValue())){ + sb.append(onlCgformField.getDbFieldTxt()+":"+"-- "); + }else{ + StringBuilder standSb = new StringBuilder(); + if("replaced_standard".equals(entry.getKey())){ + //被代替标准 + for (Map stringObjectMap : mapList) { + String replaceStandard = (String) stringObjectMap.get("replace_standard"); + if(StringUtils.isNotBlank(replaceStandard) && replaceStandard.contains((String)entry.getValue())){ + standSb.append(stringObjectMap.get("serial_number")+","); + } + } + }else{ + //对应标准,代替标准 + for (String valueTemp : entry.getValue().toString().split(",")) { + if(isId(valueTemp)){ + //是id + for (Map stringObjectMap : mapList) { + if(stringObjectMap.get("id").equals(valueTemp)){ + standSb.append(stringObjectMap.get("serial_number")+","); + } + } + }else{ + //不是id + standSb.append(valueTemp+","); + } + } + } + + if(StringUtils.isNotBlank(standSb)){ + String substring = standSb.substring(0, standSb.length() - 1); + 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{ + List fileInfos = iOSSFileService.getFileInfos((String) entry.getValue()); + List fileNameList = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.toList()); + sb.append(onlCgformField.getDbFieldTxt()+":"+StringUtils.join(fileNameList,",")+" "); } } } - - //文件 - 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,",")+" "); - } - } + } catch (Exception e) { + log.error("es全文转换失败"); } } @@ -1413,8 +1418,25 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl mapNew = new LinkedHashMap<>(); + for (OnlCgformField onlCgformField : fieldList) { + for (Map.Entry entry : map.entrySet()) { + //固定字段 + 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; + } + } + } List oSSFileAll = new ArrayList<>(); - for (Map.Entry entry : map.entrySet()) { + for (Map.Entry entry : mapNew.entrySet()) { String key = entry.getKey(); Object value = entry.getValue(); //es全文新增数据(数据转换) @@ -1604,6 +1626,18 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl map, List> dataList, List fieldList, List fieldDateList, List fieldFileList, List fieldPullList, String cut) { + //调整dataList中map中字段顺序与表单中的一致 + 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()); + break; + } + } + } + dataList.remove(0); + dataList.add(mapNew); Map mapTemp = new HashMap<>(); mapCopy(map, mapTemp); //时间类型的字段