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 4a992b72d..7a71f4d4f 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 @@ -1104,13 +1104,33 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue()); + + //过滤所有人员选择类型的字段 + List personnelOnlCgformFieldList = fieldList.stream() + .filter(e -> FieldTypeEnum.PERSON.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); + if(personnelOnlCgformFieldList.size() != 0){ + List collect = personnelOnlCgformFieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList()); + List personnelList = new ArrayList<>(); + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + if(collect.contains(key)){ + personnelList.add(key); + } + } + if(personnelList.size() != 0){ + for (String personnel : personnelList) { + map.put(personnel, map.get(personnel+"_id")); + map.remove(personnel+"_id"); + } + } + } //代替标准不为空,需要向被替代标准的法规工程师发送站内通知和飞书信息,提醒内容:"新标准编号"已实施,请注意更新“替代标准编号”状态 String cut = (String) map.get("cut"); map.remove("cut"); map.remove("replace_standard_id"); map.remove("corresponding_standard_id"); - //字段属性 - List fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue()); //获取搜索中心字段 List searchFieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(e.getIsShowSearch())).collect(Collectors.toList()); //文件类型字段 @@ -2595,16 +2615,59 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())) .collect(Collectors.toList()); List fileList = onlCgformFieldFileList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList()); + //过滤出人员选择字段 + List personnelPnlCgformFieldFileList = fieldList.stream() + .filter(e -> FieldTypeEnum.PERSON.getValue().equals(e.getFieldShowType())) + .collect(Collectors.toList()); + List personnelList = personnelPnlCgformFieldFileList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList()); + List personnelValue = new ArrayList<>(); + List records = infoPage.getRecords(); + for (Map record : records) { + Map record1 = (Map) record; + for (Map.Entry entry : record1.entrySet()) { + //过滤出人员选择的数据 + if(personnelList.size() != 0 && personnelList.contains(entry.getKey())){ + String value = (String) entry.getValue(); + if(ObjectUtils.isNotEmpty(value)){ + personnelValue.addAll(Arrays.asList(value.split(","))); + } + } + } + } + List userList = new ArrayList<>(); + if(personnelValue.size() != 0){ + //查询用户信息(根据用户名) + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(SysUser::getId,personnelValue); + userList = sysUserService.list(wrapper); + } //数据字典 List sysDictItems = sysDictItemServiceImpl.selectItemsAll(); //下拉选处理数据字典 - List records = infoPage.getRecords(); List idList = new ArrayList<>(); List fileIdLidt = new ArrayList<>(); + for (Map record : records) { Map record1 = (Map) record; idList.add((String) record1.get("id")); for (Map.Entry entry : record1.entrySet()) { + String key = entry.getKey(); + String value = (String) entry.getValue(); + //处理人员选择 + if(personnelList.contains(key) && StringUtils.isNotBlank(value)){ + StringBuilder sb = new StringBuilder(); + for (String userId : value.split(",")) { + List sysUserList = userList.stream().filter(e -> userId.equals(e.getId())).collect(Collectors.toList()); + if(sysUserList.size() != 0){ + sb.append(sysUserList.get(0).getUsername()+","); + } + } + if(StringUtils.isNotBlank(sb)){ + String substring = sb.substring(0, sb.length() - 1); + entry.setValue(substring); + } + } + //下拉选处理数据字典 dictItem(sysDictItems, entry, cut, fieldList,null); treeDictItem(categoryList, entry, treeFieldList, cut,null); @@ -2613,6 +2676,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fileInfos = iOSSFileService.getFileInfos(StringUtils.join(fileIdLidt, ",")); if(fileInfos.size() != 0){