diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java b/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java index 8499f928..3aa278ce 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java @@ -35,6 +35,16 @@ public class FieldCommon { LawsFieldTypeEnum.TREE_OPTION.getValue() // 树形弹框选择 ); + /** + * @Author: liao + * @Date: 2023/11/3 17:22 + * @Description: 选部门 + **/ + public static final List GROUP = Arrays.asList( + LawsFieldTypeEnum.GROUP_SINGLE.getValue(), // 单选组织机构弹框 + LawsFieldTypeEnum.GROUP_MANY.getValue() // 多选组织机构弹框 + ); + // 字典翻译类型 public static final List TYPE_DICT = Arrays.asList( LawsFieldTypeEnum.OPTION_SINGLE.getValue(), // 下拉单选 diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index 43d490b4..2fa649e5 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -491,7 +491,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService { LambdaQueryWrapper sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); sysUserLambdaQueryWrapper.in(SysUser::getId, valueList); List userList = sysUserService.list(sysUserLambdaQueryWrapper); - List nameList = userList.stream().map(SysUser::getUsername).collect(Collectors.toList()); + List 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 valueList = Arrays.asList(value.split(",")); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(SysUser::getId, valueList); + queryWrapper.orderByDesc(SysUser::getId); + List userList = sysUserService.list(queryWrapper); + List textList = userList.stream() + .map(SysUser::getRealname).collect(Collectors.toList()); + value = StringUtils.join(textList, ","); + // 因为排序问题,值可能不一样 + if (StringUtils.isNotBlank(oldValue)) { + List 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 valueList = Arrays.asList(value.split(",")); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(SysDepart::getId, valueList); + queryWrapper.orderByDesc(SysDepart::getId); + List userList = sysDepartService.list(queryWrapper); + List textList = userList.stream() + .map(SysDepart::getDepartName).collect(Collectors.toList()); + value = StringUtils.join(textList, ","); + // 因为排序问题,值可能不一样 + if (StringUtils.isNotBlank(oldValue)) { + List differentList = Arrays.asList(oldValue.split(",")); + textList.removeAll(differentList); + // 如果值一样,只是排序问题,则不更新 + if (CollectionUtils.isEmpty(textList)) { + oldValue = ""; + value = ""; + } + } + } } if (Objects.isNull(oldValue)) oldValue = "";