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 b75b071de..ae8570e56 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 @@ -30,6 +30,7 @@ import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.subscribe.entity.OnlCgformSubscribe; import com.jero.modules.subscribe.service.IOnlCgformSubscribeService; import com.jero.modules.system.entity.SysAnnouncement; +import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysCategoryTreeVO; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; @@ -372,6 +373,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl FieldTypeEnum.PULL_SINGLE.getValue().equals(e.getFieldShowType()) || FieldTypeEnum.PULL_MORE.getValue().equals(e.getFieldShowType())) .collect(Collectors.toList()); + + //过滤出树形字段 + List treeFieldList = fieldList.stream() + .filter(e -> FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType())) + .collect(Collectors.toList()); //下拉选字段 List fieldPullList = onlCgformFieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList()); //数据字典 List sysDictItems = sysDictItemServiceImpl.selectItemsAll(); + //树形数据字典 + List categoryList = sysCategoryService.list(); + //处理树形数据字典 + dataList.get(0).entrySet().forEach(entry -> { + //下拉选处理数据字典 + treeDictItem(categoryList, entry, treeFieldList,cut); + }); + //下拉单选和下拉多选数据字典处理 dataList.get(0).entrySet().forEach(entry -> { if (fieldPullList.contains(entry.getKey())) { @@ -1712,6 +1730,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl sysDictItems = sysDictItemServiceImpl.selectItemsAll(); //文件字段 List fileFieldList = fieldList.stream().filter(e -> FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); + //过滤出树形字段 + List treeFieldList = fieldList.stream() + .filter(e -> FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType())) + .collect(Collectors.toList()); //过滤出所有文件字段对应的connect_id List connectIdList = new ArrayList<>(); for (Map data : datas) { @@ -1727,17 +1749,23 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl categoryList = sysCategoryService.list(); int i = 0; for (Map data : datas) { for (Map.Entry entry : data.entrySet()) { List collect = fieldList.stream() - .filter(e -> entry.getKey().equals(e.getDictField())) + .filter(e -> entry.getKey().equals(e.getDictField()) && !FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType())) .collect(Collectors.toList()); //下拉选处理数据字典 dictItem(sysDictItems, entry, collect,cut); + //处理树形数据字典 + treeDictItem(categoryList, entry, treeFieldList,cut); } + + + Row row = sheet.createRow(i + 1); i++; int sheetNum = 0; @@ -2145,6 +2173,31 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl categoryList ,Map.Entry entry,List treeFieldList,String cut){ + List treeFields = treeFieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList()); + String key = entry.getKey(); + if(treeFields.contains(entry.getKey())){ + String value = (String) entry.getValue(); + if(StringUtils.isNotBlank(value)){ + List idList = Arrays.asList(value.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)){ + entry.setValue(StringUtils.join(nameList,",")); + }else{ + entry.setValue(StringUtils.join(nameEnList,",")); + } + } + } } }