文档库-人员选择字段回显

This commit is contained in:
zhn
2022-05-26 11:23:57 +08:00
parent 05759f1b7e
commit f5482008ba
@@ -725,17 +725,31 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
List<OnlCgformField> treeOnlCgformFieldList = fieldList.stream().filter(e -> FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList());
List<String> treeList = treeOnlCgformFieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
List<OnlCgformField> onlCgformFieldDateMoreList = fieldList.stream().filter(e -> FieldTypeEnum.DATE_MORE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList());
List<OnlCgformField> onlCgformFieldPersonList = fieldList.stream().filter(e -> FieldTypeEnum.PERSON.getValue().equals(e.getFieldShowType())).collect(Collectors.toList());
List<String> personList = onlCgformFieldPersonList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
List<String> dateMoreList = onlCgformFieldDateMoreList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
//通过id查询数据
List<Map<String, Object>> dataList = bussDocumentLibraryEOMapper.selectMapsAll(id);
//多选日期
List<String> userNameList = new ArrayList<>();
for (Map.Entry<String, Object> entry : dataList.get(0).entrySet()) {
String key = entry.getKey();
if(personList.contains(key)){
String value = (String) entry.getValue();
userNameList.addAll(Arrays.asList(value.split(",")));
}
if(dateMoreList.contains(key) && ObjectUtils.isNotEmpty(entry.getValue())){
String value = (String) entry.getValue();
entry.setValue(Arrays.asList(value.split(",")));
}
}
List<SysUser> userList = new ArrayList<>();
if(userNameList.size() != 0){
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SysUser::getUsername,userNameList);
userList = sysUserService.list(wrapper);
}
//查询所有
List<Map<String, Object>> mapList = bussDocumentLibraryEOMapper.selectMapsAll(null);
@@ -750,6 +764,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
}
dataList.get(0).put("replaced_standard", StringUtils.join(replacedStandardNameList, ","));
List<String> personKeyList = new ArrayList<>();
for (Map.Entry<String, Object> entry : dataList.get(0).entrySet()) {
if(treeList.contains(entry.getKey())){
String value = (String) entry.getValue();
@@ -759,6 +774,28 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
dataList.get(0).put(entry.getKey(), null);
}
}
if(personList.contains(entry.getKey())){
if(StringUtils.isNotBlank((String)entry.getValue())){
personKeyList.add(entry.getKey());
}
}
}
//标准选择字段,添加id(用于回显)
if(personKeyList.size() != 0){
for (String personKey : personKeyList) {
String value = (String)dataList.get(0).get(personKey);
List<SysUser> users = new ArrayList<>();
if(userList.size() != 0 && StringUtils.isNotBlank(value)){
for (String s : value.split(",")) {
List<SysUser> sysUserList = userList.stream().filter(e -> e.getUsername().equals(s)).collect(Collectors.toList());
users.addAll(sysUserList);
}
if(users.size() != 0){
List<String> userIdList = users.stream().map(SysUser::getId).collect(Collectors.toList());
dataList.get(0).put(personKey + "_id",StringUtils.join(userIdList,","));
}
}
}
}
return dataList;
}