fix 78061 标准详情-更新记录 选择部门和用户,没有正常展示出来

This commit is contained in:
liao
2023-11-03 17:34:11 +08:00
parent 8ea4288bc3
commit f0b157bc38
2 changed files with 57 additions and 1 deletions
@@ -35,6 +35,16 @@ public class FieldCommon {
LawsFieldTypeEnum.TREE_OPTION.getValue() // 树形弹框选择
);
/**
* @Author: liao
* @Date: 2023/11/3 17:22
* @Description: 选部门
**/
public static final List<String> GROUP = Arrays.asList(
LawsFieldTypeEnum.GROUP_SINGLE.getValue(), // 单选组织机构弹框
LawsFieldTypeEnum.GROUP_MANY.getValue() // 多选组织机构弹框
);
// 字典翻译类型
public static final List<String> TYPE_DICT = Arrays.asList(
LawsFieldTypeEnum.OPTION_SINGLE.getValue(), // 下拉单选
@@ -491,7 +491,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
sysUserLambdaQueryWrapper.in(SysUser::getId, valueList);
List<SysUser> userList = sysUserService.list(sysUserLambdaQueryWrapper);
List<String> nameList = userList.stream().map(SysUser::getUsername).collect(Collectors.toList());
List<String> nameList = userList.stream().map(SysUser::getRealname).collect(Collectors.toList());
resultMap.put(key + FieldCommon._DICT_TEXT, StringUtils.join(nameList, ","));
} else if (LawsFieldTypeEnum.GROUP_SINGLE.getValue().equals(lawsTag.getFieldShowType())
|| LawsFieldTypeEnum.GROUP_MANY.getValue().equals(lawsTag.getFieldShowType())) {
@@ -886,6 +886,52 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
}
}
}
} else if (LawsFieldTypeEnum.USER_SINGLE.getValue().equals(lawsTag.getFieldShowType())) {
// 用户处理
oldValue = (String) oldDataMap.get(key + FieldCommon._DICT_TEXT);
if (StringUtils.isNotBlank(value)) {
List<String> valueList = Arrays.asList(value.split(","));
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(SysUser::getId, valueList);
queryWrapper.orderByDesc(SysUser::getId);
List<SysUser> userList = sysUserService.list(queryWrapper);
List<String> textList = userList.stream()
.map(SysUser::getRealname).collect(Collectors.toList());
value = StringUtils.join(textList, ",");
// 因为排序问题,值可能不一样
if (StringUtils.isNotBlank(oldValue)) {
List<String> differentList = Arrays.asList(oldValue.split(","));
textList.removeAll(differentList);
// 如果值一样,只是排序问题,则不更新
if (CollectionUtils.isEmpty(textList)) {
oldValue = "";
value = "";
}
}
}
} else if (FieldCommon.GROUP.contains(lawsTag.getFieldShowType())) {
// 部门处理
oldValue = (String) oldDataMap.get(key + FieldCommon._DICT_TEXT);
if (StringUtils.isNotBlank(value)) {
List<String> valueList = Arrays.asList(value.split(","));
LambdaQueryWrapper<SysDepart> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(SysDepart::getId, valueList);
queryWrapper.orderByDesc(SysDepart::getId);
List<SysDepart> userList = sysDepartService.list(queryWrapper);
List<String> textList = userList.stream()
.map(SysDepart::getDepartName).collect(Collectors.toList());
value = StringUtils.join(textList, ",");
// 因为排序问题,值可能不一样
if (StringUtils.isNotBlank(oldValue)) {
List<String> differentList = Arrays.asList(oldValue.split(","));
textList.removeAll(differentList);
// 如果值一样,只是排序问题,则不更新
if (CollectionUtils.isEmpty(textList)) {
oldValue = "";
value = "";
}
}
}
}
if (Objects.isNull(oldValue)) oldValue = "";