From f0b157bc3821a40a1424186bc2d9b6c4993003ef Mon Sep 17 00:00:00 2001 From: liao Date: Fri, 3 Nov 2023 17:34:11 +0800 Subject: [PATCH] =?UTF-8?q?fix=2078061=20=E6=A0=87=E5=87=86=E8=AF=A6?= =?UTF-8?q?=E6=83=85-=E6=9B=B4=E6=96=B0=E8=AE=B0=E5=BD=95=20=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E9=83=A8=E9=97=A8=E5=92=8C=E7=94=A8=E6=88=B7=EF=BC=8C?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E6=AD=A3=E5=B8=B8=E5=B1=95=E7=A4=BA=E5=87=BA?= =?UTF-8?q?=E6=9D=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../laws/common/constant/FieldCommon.java | 10 ++++ .../service/impl/LawsCommonServiceImpl.java | 48 ++++++++++++++++++- 2 files changed, 57 insertions(+), 1 deletion(-) 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 = "";