文档库--人员选择

This commit is contained in:
zhn
2022-04-25 19:15:07 +08:00
parent 94625a79e9
commit 2771da7284
@@ -591,14 +591,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
@Override
public List<Map<String, Object>> getDocumentInfoById(String id, String cut) {
//字段属性
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList("1");
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
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<String> dateMoreList = onlCgformFieldDateMoreList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
//通过id查询数据
List<Map<String, Object>> dataList = bussDocumentLibraryEOMapper.selectMapsAll(id);
//处理多选日期
//多选日期
for (Map.Entry<String, Object> entry : dataList.get(0).entrySet()) {
String key = entry.getKey();
if(dateMoreList.contains(key) && ObjectUtils.isNotEmpty(entry.getValue())){
@@ -1123,7 +1123,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
if(personnelList.size() != 0){
for (String personnel : personnelList) {
map.put(personnel, map.get(personnel+"_id"));
// map.put(personnel, map.get(personnel+"_id"));
map.remove(personnel+"_id");
}
}
@@ -2617,59 +2617,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
.filter(e -> FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType()))
.collect(Collectors.toList());
List<String> fileList = onlCgformFieldFileList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
//过滤出人员选择字段
List<OnlCgformField> personnelPnlCgformFieldFileList = fieldList.stream()
.filter(e -> FieldTypeEnum.PERSON.getValue().equals(e.getFieldShowType()))
.collect(Collectors.toList());
List<String> personnelList = personnelPnlCgformFieldFileList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
List<String> personnelValue = new ArrayList<>();
List<Map> records = infoPage.getRecords();
for (Map record : records) {
Map<String, Object> record1 = (Map) record;
for (Map.Entry<String, Object> 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<SysUser> userList = new ArrayList<>();
if(personnelValue.size() != 0){
//查询用户信息(根据用户名)
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SysUser::getId,personnelValue);
userList = sysUserService.list(wrapper);
}
//数据字典
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll();
//下拉选处理数据字典
List<String> idList = new ArrayList<>();
List<String> fileIdLidt = new ArrayList<>();
for (Map record : records) {
Map<String, Object> record1 = (Map) record;
idList.add((String) record1.get("id"));
for (Map.Entry<String, Object> 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<SysUser> 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);